public boolean isUserInRole(String s) {
        Subject subject = getSubject();
        boolean inRole = (subject != null && subject.hasRole(s));
        if (!inRole) {
            inRole = super.isUserInRole(s);
        }
        return inRole;
    }
A {@code ShiroHttpServletRequest} wraps the Servlet container's original {@code ServletRequest} instance, but ensures
that all {@link HttpServletRequest} invocations that require Shiro's support ({@link #getRemoteUser getRemoteUser},
{@link #getSession getSession}, etc.) can be executed first by Shiro as necessary before allowing the underlying
Servlet container instance's method to be invoked.

@since 0.2
web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpServletRequest.java