blob: 868349b61340e326536a6a4a40d02c07f32aa3a3 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_65) on Tue Feb 25 18:15:51 EST 2014 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
AccessControlFilter (Apache Shiro 1.2.3 API)
</TITLE>
<META NAME="date" CONTENT="2014-02-25">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AccessControlFilter (Apache Shiro 1.2.3 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AccessControlFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../org/apache/shiro/web/filter/PathConfigProcessor.html" title="interface in org.apache.shiro.web.filter"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/shiro/web/filter/AccessControlFilter.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AccessControlFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.shiro.web.filter</FONT>
<BR>
Class AccessControlFilter</H2>
<PRE>
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html" title="class in org.apache.shiro.web.servlet">org.apache.shiro.web.servlet.ServletContextSupport</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html" title="class in org.apache.shiro.web.servlet">org.apache.shiro.web.servlet.AbstractFilter</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/shiro/web/servlet/NameableFilter.html" title="class in org.apache.shiro.web.servlet">org.apache.shiro.web.servlet.NameableFilter</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html" title="class in org.apache.shiro.web.servlet">org.apache.shiro.web.servlet.OncePerRequestFilter</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/shiro/web/servlet/AdviceFilter.html" title="class in org.apache.shiro.web.servlet">org.apache.shiro.web.servlet.AdviceFilter</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html" title="class in org.apache.shiro.web.filter">org.apache.shiro.web.filter.PathMatchingFilter</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.shiro.web.filter.AccessControlFilter</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/Filter.html?is-external=true" title="class or interface in javax.servlet">Filter</A>, <A HREF="../../../../../org/apache/shiro/util/Nameable.html" title="interface in org.apache.shiro.util">Nameable</A>, <A HREF="../../../../../org/apache/shiro/web/filter/PathConfigProcessor.html" title="interface in org.apache.shiro.web.filter">PathConfigProcessor</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../../org/apache/shiro/web/filter/authc/AuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc">AuthenticationFilter</A>, <A HREF="../../../../../org/apache/shiro/web/filter/authz/AuthorizationFilter.html" title="class in org.apache.shiro.web.filter.authz">AuthorizationFilter</A>, <A HREF="../../../../../org/apache/shiro/web/filter/authc/UserFilter.html" title="class in org.apache.shiro.web.filter.authc">UserFilter</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.37"><B>AccessControlFilter</B></A><DT>extends <A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html" title="class in org.apache.shiro.web.filter">PathMatchingFilter</A></DL>
</PRE>
<P>
Superclass for any filter that controls access to a resource and may redirect the user to the login page
if they are not authenticated. This superclass provides the method
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#saveRequestAndRedirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><CODE>saveRequestAndRedirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)</CODE></A>
which is used by many subclasses as the behavior when a user is unauthenticated.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>0.9</DD>
</DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#DEFAULT_LOGIN_URL">DEFAULT_LOGIN_URL</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Simple default login URL equal to <code>/login.jsp</code>, which can be overridden by calling the
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#setLoginUrl(java.lang.String)"><CODE>setLoginUrl</CODE></A> method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#GET_METHOD">GET_METHOD</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant representing the HTTP 'GET' request method, equal to <code>GET</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#POST_METHOD">POST_METHOD</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant representing the HTTP 'POST' request method, equal to <code>POST</code>.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.shiro.web.filter.PathMatchingFilter"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.shiro.web.filter.<A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html" title="class in org.apache.shiro.web.filter">PathMatchingFilter</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html#appliedPaths">appliedPaths</A>, <A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html#pathMatcher">pathMatcher</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.shiro.web.servlet.OncePerRequestFilter"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.shiro.web.servlet.<A HREF="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html" title="class in org.apache.shiro.web.servlet">OncePerRequestFilter</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#ALREADY_FILTERED_SUFFIX">ALREADY_FILTERED_SUFFIX</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.shiro.web.servlet.AbstractFilter"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.shiro.web.servlet.<A HREF="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html" title="class in org.apache.shiro.web.servlet">AbstractFilter</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#filterConfig">filterConfig</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#AccessControlFilter()">AccessControlFilter</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#getLoginUrl()">getLoginUrl</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the login URL used to authenticate a user.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#getSubject(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">getSubject</A></B>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method that acquires the Subject associated with the request.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)">isAccessAllowed</A></B>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;mappedValue)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the request is allowed to proceed through the filter normally, or <code>false</code>
if the request should be handled by the
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><CODE>onAccessDenied(request,response,mappedValue)</CODE></A>
method instead.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#isLoginRequest(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">isLoginRequest</A></B>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the incoming request is a login request, <code>false</code> otherwise.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected abstract &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">onAccessDenied</A></B>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Processes requests where the subject was denied access as determined by the
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><CODE>isAccessAllowed</CODE></A>
method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)">onAccessDenied</A></B>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;mappedValue)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Processes requests where the subject was denied access as determined by the
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><CODE>isAccessAllowed</CODE></A>
method, retaining the <code>mappedValue</code> that was used during configuration.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#onPreHandle(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)">onPreHandle</A></B>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;mappedValue)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><CODE>isAccessAllowed(Request,Response,Object)</CODE></A>,
otherwise returns the result of
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><CODE>onAccessDenied(Request,Response,Object)</CODE></A>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#redirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">redirectToLogin</A></B>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method for subclasses that merely acquires the <A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#getLoginUrl()"><CODE>getLoginUrl</CODE></A> and redirects
the request to that url.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#saveRequest(javax.servlet.ServletRequest)">saveRequest</A></B>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method merely delegates to
<A HREF="../../../../../org/apache/shiro/web/util/WebUtils.html#saveRequest(javax.servlet.ServletRequest)"><CODE>WebUtils.saveRequest(request)</CODE></A> to save the request
state for reuse later.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#saveRequestAndRedirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">saveRequestAndRedirectToLogin</A></B>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method for subclasses to use when a login redirect is required.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#setLoginUrl(java.lang.String)">setLoginUrl</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;loginUrl)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the login URL used to authenticate a user.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.web.filter.PathMatchingFilter"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.web.filter.<A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html" title="class in org.apache.shiro.web.filter">PathMatchingFilter</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html#getPathWithinApplication(javax.servlet.ServletRequest)">getPathWithinApplication</A>, <A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html#isEnabled(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String, java.lang.Object)">isEnabled</A>, <A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html#pathsMatch(java.lang.String, javax.servlet.ServletRequest)">pathsMatch</A>, <A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html#pathsMatch(java.lang.String, java.lang.String)">pathsMatch</A>, <A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html#preHandle(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">preHandle</A>, <A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html#processPathConfig(java.lang.String, java.lang.String)">processPathConfig</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.web.servlet.AdviceFilter"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.web.servlet.<A HREF="../../../../../org/apache/shiro/web/servlet/AdviceFilter.html" title="class in org.apache.shiro.web.servlet">AdviceFilter</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/shiro/web/servlet/AdviceFilter.html#afterCompletion(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Exception)">afterCompletion</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/AdviceFilter.html#cleanup(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Exception)">cleanup</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/AdviceFilter.html#doFilterInternal(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">doFilterInternal</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/AdviceFilter.html#executeChain(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">executeChain</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/AdviceFilter.html#postHandle(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">postHandle</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.web.servlet.OncePerRequestFilter"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.web.servlet.<A HREF="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html" title="class in org.apache.shiro.web.servlet">OncePerRequestFilter</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">doFilter</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#getAlreadyFilteredAttributeName()">getAlreadyFilteredAttributeName</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#isEnabled()">isEnabled</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#isEnabled(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">isEnabled</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#setEnabled(boolean)">setEnabled</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#shouldNotFilter(javax.servlet.ServletRequest)">shouldNotFilter</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.web.servlet.NameableFilter"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.web.servlet.<A HREF="../../../../../org/apache/shiro/web/servlet/NameableFilter.html" title="class in org.apache.shiro.web.servlet">NameableFilter</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/shiro/web/servlet/NameableFilter.html#getName()">getName</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/NameableFilter.html#setName(java.lang.String)">setName</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/NameableFilter.html#toStringBuilder()">toStringBuilder</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.web.servlet.AbstractFilter"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.web.servlet.<A HREF="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html" title="class in org.apache.shiro.web.servlet">AbstractFilter</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#destroy()">destroy</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#getFilterConfig()">getFilterConfig</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#getInitParam(java.lang.String)">getInitParam</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#init(javax.servlet.FilterConfig)">init</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#onFilterConfigSet()">onFilterConfigSet</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#setFilterConfig(javax.servlet.FilterConfig)">setFilterConfig</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.shiro.web.servlet.ServletContextSupport"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.shiro.web.servlet.<A HREF="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html" title="class in org.apache.shiro.web.servlet">ServletContextSupport</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#getContextAttribute(java.lang.String)">getContextAttribute</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#getContextInitParam(java.lang.String)">getContextInitParam</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#getServletContext()">getServletContext</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#removeContextAttribute(java.lang.String)">removeContextAttribute</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#setContextAttribute(java.lang.String, java.lang.Object)">setContextAttribute</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#setServletContext(javax.servlet.ServletContext)">setServletContext</A>, <A HREF="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#toString()">toString</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="DEFAULT_LOGIN_URL"><!-- --></A><H3>
DEFAULT_LOGIN_URL</H3>
<PRE>
public static final <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.43"><B>DEFAULT_LOGIN_URL</B></A></PRE>
<DL>
<DD>Simple default login URL equal to <code>/login.jsp</code>, which can be overridden by calling the
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#setLoginUrl(java.lang.String)"><CODE>setLoginUrl</CODE></A> method.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.shiro.web.filter.AccessControlFilter.DEFAULT_LOGIN_URL">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="GET_METHOD"><!-- --></A><H3>
GET_METHOD</H3>
<PRE>
public static final <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.48"><B>GET_METHOD</B></A></PRE>
<DL>
<DD>Constant representing the HTTP 'GET' request method, equal to <code>GET</code>.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.shiro.web.filter.AccessControlFilter.GET_METHOD">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="POST_METHOD"><!-- --></A><H3>
POST_METHOD</H3>
<PRE>
public static final <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.53"><B>POST_METHOD</B></A></PRE>
<DL>
<DD>Constant representing the HTTP 'POST' request method, equal to <code>POST</code>.
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.shiro.web.filter.AccessControlFilter.POST_METHOD">Constant Field Values</A></DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="AccessControlFilter()"><!-- --></A><H3>
AccessControlFilter</H3>
<PRE>
public <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.37"><B>AccessControlFilter</B></A>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="getLoginUrl()"><!-- --></A><H3>
getLoginUrl</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.70"><B>getLoginUrl</B></A>()</PRE>
<DL>
<DD>Returns the login URL used to authenticate a user.
<p/>
Most Shiro filters use this url
as the location to redirect a user when the filter requires authentication. Unless overridden, the
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#DEFAULT_LOGIN_URL"><CODE>DEFAULT_LOGIN_URL</CODE></A> is assumed, which can be overridden via
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#setLoginUrl(java.lang.String)"><CODE>setLoginUrl</CODE></A>.
<P>
<DD><DL>
<DT><B>Returns:</B><DD>the login URL used to authenticate a user, used when redirecting users if authentication is required.</DL>
</DD>
</DL>
<HR>
<A NAME="setLoginUrl(java.lang.String)"><!-- --></A><H3>
setLoginUrl</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.82"><B>setLoginUrl</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;loginUrl)</PRE>
<DL>
<DD>Sets the login URL used to authenticate a user.
<p/>
Most Shiro filters use this url as the location to redirect a user when the filter requires
authentication. Unless overridden, the <A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#DEFAULT_LOGIN_URL"><CODE>DEFAULT_LOGIN_URL</CODE></A> is assumed.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>loginUrl</CODE> - the login URL used to authenticate a user, used when redirecting users if authentication is required.</DL>
</DD>
</DL>
<HR>
<A NAME="getSubject(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><!-- --></A><H3>
getSubject</H3>
<PRE>
protected <A HREF="../../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject">Subject</A> <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.96"><B>getSubject</B></A>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response)</PRE>
<DL>
<DD>Convenience method that acquires the Subject associated with the request.
<p/>
The default implementation simply returns
<A HREF="../../../../../org/apache/shiro/SecurityUtils.html#getSubject()"><CODE>SecurityUtils.getSubject()</CODE></A>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the incoming <code>ServletRequest</code><DD><CODE>response</CODE> - the outgoing <code>ServletResponse</code>
<DT><B>Returns:</B><DD>the Subject associated with the request.</DL>
</DD>
</DL>
<HR>
<A NAME="isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><!-- --></A><H3>
isAccessAllowed</H3>
<PRE>
protected abstract boolean <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.114"><B>isAccessAllowed</B></A>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;mappedValue)
throws <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Returns <code>true</code> if the request is allowed to proceed through the filter normally, or <code>false</code>
if the request should be handled by the
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><CODE>onAccessDenied(request,response,mappedValue)</CODE></A>
method instead.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the incoming <code>ServletRequest</code><DD><CODE>response</CODE> - the outgoing <code>ServletResponse</code><DD><CODE>mappedValue</CODE> - the filter-specific config value mapped to this filter in the URL rules mappings.
<DT><B>Returns:</B><DD><code>true</code> if the request should proceed through the filter normally, <code>false</code> if the
request should be processed by this filter's
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><CODE>onAccessDenied(ServletRequest,ServletResponse,Object)</CODE></A> method instead.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - if an error occurs during processing.</DL>
</DD>
</DL>
<HR>
<A NAME="onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><!-- --></A><H3>
onAccessDenied</H3>
<PRE>
protected boolean <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.132"><B>onAccessDenied</B></A>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;mappedValue)
throws <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Processes requests where the subject was denied access as determined by the
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><CODE>isAccessAllowed</CODE></A>
method, retaining the <code>mappedValue</code> that was used during configuration.
<p/>
This method immediately delegates to <A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><CODE>onAccessDenied(ServletRequest,ServletResponse)</CODE></A> as a
convenience in that most post-denial behavior does not need the mapped config again.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the incoming <code>ServletRequest</code><DD><CODE>response</CODE> - the outgoing <code>ServletResponse</code><DD><CODE>mappedValue</CODE> - the config specified for the filter in the matching request's filter chain.
<DT><B>Returns:</B><DD><code>true</code> if the request should continue to be processed; false if the subclass will
handle/render the response directly.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - if there is an error processing the request.<DT><B>Since:</B></DT>
<DD>1.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><!-- --></A><H3>
onAccessDenied</H3>
<PRE>
protected abstract boolean <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.147"><B>onAccessDenied</B></A>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response)
throws <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Processes requests where the subject was denied access as determined by the
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><CODE>isAccessAllowed</CODE></A>
method.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the incoming <code>ServletRequest</code><DD><CODE>response</CODE> - the outgoing <code>ServletResponse</code>
<DT><B>Returns:</B><DD><code>true</code> if the request should continue to be processed; false if the subclass will
handle/render the response directly.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - if there is an error processing the request.</DL>
</DD>
</DL>
<HR>
<A NAME="onPreHandle(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><!-- --></A><H3>
onPreHandle</H3>
<PRE>
public boolean <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.161"><B>onPreHandle</B></A>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;mappedValue)
throws <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
<DL>
<DD>Returns <code>true</code> if
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><CODE>isAccessAllowed(Request,Response,Object)</CODE></A>,
otherwise returns the result of
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><CODE>onAccessDenied(Request,Response,Object)</CODE></A>.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html#onPreHandle(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)">onPreHandle</A></CODE> in class <CODE><A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html" title="class in org.apache.shiro.web.filter">PathMatchingFilter</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the incoming ServletRequest<DD><CODE>response</CODE> - the outgoing ServletResponse<DD><CODE>mappedValue</CODE> - the filter-specific config value mapped to this filter in the URL rules mappings.
<DT><B>Returns:</B><DD><code>true</code> if
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.Object)"><CODE>isAccessAllowed</CODE></A>,
otherwise returns the result of
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><CODE>onAccessDenied</CODE></A>.
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - if an error occurs.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html#isEnabled(javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String, java.lang.Object)"><CODE>PathMatchingFilter.isEnabled(javax.servlet.ServletRequest, javax.servlet.ServletResponse, String, Object)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="isLoginRequest(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><!-- --></A><H3>
isLoginRequest</H3>
<PRE>
protected boolean <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.176"><B>isLoginRequest</B></A>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response)</PRE>
<DL>
<DD>Returns <code>true</code> if the incoming request is a login request, <code>false</code> otherwise.
<p/>
The default implementation merely returns <code>true</code> if the incoming request matches the configured
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#getLoginUrl()"><CODE>loginUrl</CODE></A> by calling
<code><A HREF="../../../../../org/apache/shiro/web/filter/PathMatchingFilter.html#pathsMatch(java.lang.String, java.lang.String)"><CODE>pathsMatch(loginUrl, request)</CODE></A></code>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the incoming <code>ServletRequest</code><DD><CODE>response</CODE> - the outgoing <code>ServletResponse</code>
<DT><B>Returns:</B><DD><code>true</code> if the incoming request is a login request, <code>false</code> otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="saveRequestAndRedirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><!-- --></A><H3>
saveRequestAndRedirectToLogin</H3>
<PRE>
protected void <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.190"><B>saveRequestAndRedirectToLogin</B></A>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response)
throws <A HREF="http://java.sun.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>Convenience method for subclasses to use when a login redirect is required.
<p/>
This implementation simply calls <A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#saveRequest(javax.servlet.ServletRequest)"><CODE>saveRequest(request)</CODE></A>
and then <A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#redirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><CODE>redirectToLogin(request,response)</CODE></A>.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the incoming <code>ServletRequest</code><DD><CODE>response</CODE> - the outgoing <code>ServletResponse</code>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an error occurs.</DL>
</DD>
</DL>
<HR>
<A NAME="saveRequest(javax.servlet.ServletRequest)"><!-- --></A><H3>
saveRequest</H3>
<PRE>
protected void <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.207"><B>saveRequest</B></A>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request)</PRE>
<DL>
<DD>Convenience method merely delegates to
<A HREF="../../../../../org/apache/shiro/web/util/WebUtils.html#saveRequest(javax.servlet.ServletRequest)"><CODE>WebUtils.saveRequest(request)</CODE></A> to save the request
state for reuse later. This is mostly used to retain user request state when a redirect is issued to
return the user to their originally requested url/resource.
<p/>
If you need to save and then immediately redirect the user to login, consider using
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#saveRequestAndRedirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><CODE>saveRequestAndRedirectToLogin(request,response)</CODE></A> directly.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the incoming ServletRequest to save for re-use later (for example, after a redirect).</DL>
</DD>
</DL>
<HR>
<A NAME="redirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><!-- --></A><H3>
redirectToLogin</H3>
<PRE>
protected void <A HREF="../../../../../src-html/org/apache/shiro/web/filter/AccessControlFilter.html#line.225"><B>redirectToLogin</B></A>(<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</A>&nbsp;request,
<A HREF="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</A>&nbsp;response)
throws <A HREF="http://java.sun.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
<DL>
<DD>Convenience method for subclasses that merely acquires the <A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#getLoginUrl()"><CODE>getLoginUrl</CODE></A> and redirects
the request to that url.
<p/>
<b>N.B.</b> If you want to issue a redirect with the intention of allowing the user to then return to their
originally requested URL, don't use this method directly. Instead you should call
<A HREF="../../../../../org/apache/shiro/web/filter/AccessControlFilter.html#saveRequestAndRedirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><CODE>saveRequestAndRedirectToLogin(request,response)</CODE></A>, which will save the current request state so that it can
be reconstructed and re-used after a successful login.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>request</CODE> - the incoming <code>ServletRequest</code><DD><CODE>response</CODE> - the outgoing <code>ServletResponse</code>
<DT><B>Throws:</B>
<DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an error occurs.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AccessControlFilter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../../../org/apache/shiro/web/filter/PathConfigProcessor.html" title="interface in org.apache.shiro.web.filter"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/shiro/web/filter/AccessControlFilter.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="AccessControlFilter.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2004-2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>