You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ju...@apache.org on 2017/05/09 19:15:19 UTC

[18/51] [partial] jspwiki-site git commit: Automatic Site Publish by Buildbot

http://git-wip-us.apache.org/repos/asf/jspwiki-site/blob/edae175e/content/apidocs/2.10.1/org/apache/wiki/auth/AuthorizationManager.html
----------------------------------------------------------------------
diff --git a/content/apidocs/2.10.1/org/apache/wiki/auth/AuthorizationManager.html b/content/apidocs/2.10.1/org/apache/wiki/auth/AuthorizationManager.html
new file mode 100755
index 0000000..fecf360
--- /dev/null
+++ b/content/apidocs/2.10.1/org/apache/wiki/auth/AuthorizationManager.html
@@ -0,0 +1,848 @@
+<!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_19) on Fri May 23 21:23:16 CEST 2014 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+AuthorizationManager (Apache JSPWiki Main War 2.10.1 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2014-05-23">
+
+<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="AuthorizationManager (Apache JSPWiki Main War 2.10.1 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/AuthorizationManager.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;<A HREF="../../../../org/apache/wiki/auth/AuthenticationManager.html" title="class in org.apache.wiki.auth"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/apache/wiki/auth/AuthorizationManager.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AuthorizationManager.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.wiki.auth</FONT>
+<BR>
+Class AuthorizationManager</H2>
+<PRE>
+<A HREF="http://docs.oracle.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 "><B>org.apache.wiki.auth.AuthorizationManager</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.99"><B>AuthorizationManager</B></A><DT>extends <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+<map id="APIVIZ" name="APIVIZ">
+<area shape="rect" id="node1" href="AuthorizationManager.html" title="AuthorizationManager" alt="" coords="9,94,156,122"/>
+<area shape="rect" id="node2" href="AuthenticationManager.html" title="AuthenticationManager" alt="" coords="5,6,160,34"/>
+</map>
+<div id="apivizContainer" style="text-align: center;"><img src="AuthorizationManager.png" usemap="#APIVIZ" border="0"></div>
+
+<P>
+<p>Manages all access control and authorization; determines what authenticated
+ users are allowed to do.</p>
+ <p>Privileges in JSPWiki are expressed as Java-standard <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security"><CODE>Permission</CODE></A>
+ classes. There are two types of permissions:</p>
+ <ul>
+   <li><A HREF="../../../../org/apache/wiki/auth/permissions/WikiPermission.html" title="class in org.apache.wiki.auth.permissions"><CODE>WikiPermission</CODE></A> - privileges that apply
+   to an entire wiki instance: <em>e.g.,</em> editing user profiles, creating pages, creating groups</li>
+   <li><A HREF="../../../../org/apache/wiki/auth/permissions/PagePermission.html" title="class in org.apache.wiki.auth.permissions"><CODE>PagePermission</CODE></A> - privileges that apply
+   to a single wiki page or range of pages: <em>e.g.,</em> reading, editing, renaming
+ </ul>
+ <p>Calling classes determine whether they are entitled to perform a particular action
+ by constructing the appropriate permission first, then passing it and the current
+ <A HREF="../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki"><CODE>WikiSession</CODE></A> to the
+ <A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#checkPermission(org.apache.wiki.WikiSession, java.security.Permission)"><CODE>checkPermission(WikiSession, Permission)</CODE></A> method. If the session's
+ Subject possesses the permission, the action is allowed.</p>
+ <p>For WikiPermissions, the decision criteria is relatively simple: the caller either
+ possesses the permission, as granted by the wiki security policy -- or not.</p>
+ <p>For PagePermissions, the logic is exactly the same if the page being checked
+ does not have an access control list. However, if the page does have an ACL, the
+ authorization decision is made based the <em>union</em> of the permissions
+ granted in the ACL and in the security policy. In other words, the user must
+ be named in the ACL (or belong to a group or role that is named in the ACL)
+ <em>and</em> be granted (at least) the same permission in the security policy. We
+ do this to prevent a user from gaining more permissions than they already
+ have, based on the security policy.</p>
+ <p>See the <A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#checkPermission(org.apache.wiki.WikiSession, java.security.Permission)"><CODE>checkPermission(WikiSession, Permission)</CODE></A> and
+ <A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#hasRoleOrPrincipal(org.apache.wiki.WikiSession, java.security.Principal)"><CODE>hasRoleOrPrincipal(WikiSession, Principal)</CODE></A> methods for more information
+ on the authorization logic.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.3</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/wiki/auth/AuthenticationManager.html" title="class in org.apache.wiki.auth"><CODE>AuthenticationManager</CODE></A></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://docs.oracle.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/wiki/auth/AuthorizationManager.html#DEFAULT_AUTHORIZER">DEFAULT_AUTHORIZER</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default external Authorizer is the <A HREF="../../../../org/apache/wiki/auth/authorize/WebContainerAuthorizer.html" title="class in org.apache.wiki.auth.authorize"><CODE>WebContainerAuthorizer</CODE></A></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;<A HREF="http://docs.oracle.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/wiki/auth/AuthorizationManager.html#DEFAULT_POLICY">DEFAULT_POLICY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name of the default security policy file, in WEB-INF.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static&nbsp;<A HREF="http://docs.oracle.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/wiki/auth/AuthorizationManager.html#POLICY">POLICY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Property that supplies the security policy file name, in WEB-INF.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="http://docs.oracle.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/wiki/auth/AuthorizationManager.html#PROP_AUTHORIZER">PROP_AUTHORIZER</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The property name in jspwiki.properties for specifying the external <A HREF="../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth"><CODE>Authorizer</CODE></A>.</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/wiki/auth/AuthorizationManager.html#AuthorizationManager()">AuthorizationManager</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new AuthorizationManager instance.</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;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#addWikiEventListener(org.apache.wiki.event.WikiEventListener)">addWikiEventListener</A></B>(<A HREF="../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A>&nbsp;listener)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Registers a WikiEventListener with this instance.</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/wiki/auth/AuthorizationManager.html#allowedByLocalPolicy(java.security.Principal[], java.security.Permission)">allowedByLocalPolicy</A></B>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>[]&nbsp;principals,
+                                         <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</A>&nbsp;permission)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks to see if the local security policy allows a particular static Permission.</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/wiki/auth/AuthorizationManager.html#checkPermission(org.apache.wiki.WikiSession, java.security.Permission)">checkPermission</A></B>(<A HREF="../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                               <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</A>&nbsp;permission)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> or <code>false</code>, depending on
+ whether a Permission is allowed for the Subject associated with
+ a supplied WikiSession.</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/wiki/auth/AuthorizationManager.html#checkStaticPermission(org.apache.wiki.WikiSession, java.security.Permission)">checkStaticPermission</A></B>(<A HREF="../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                                           <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</A>&nbsp;permission)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines whether a Subject possesses a given "static" Permission as
+ defined in the security policy file.</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/wiki/auth/AuthorizationManager.html#fireEvent(int, java.security.Principal, java.lang.Object)">fireEvent</A></B>(int&nbsp;type,
+                   <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>&nbsp;user,
+                   <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;permission)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fires a WikiSecurityEvent of the provided type, user,
+  and permission to all registered listeners.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth">Authorizer</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#getAuthorizer()">getAuthorizer</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current external <A HREF="../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth"><CODE>Authorizer</CODE></A> in use.</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/wiki/auth/AuthorizationManager.html#hasAccess(org.apache.wiki.WikiContext, javax.servlet.http.HttpServletResponse)">hasAccess</A></B>(<A HREF="../../../../org/apache/wiki/WikiContext.html" title="class in org.apache.wiki">WikiContext</A>&nbsp;context,
+                   javax.servlet.http.HttpServletResponse&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether the current user has access to the wiki context,
+ by obtaining the required Permission (<A HREF="../../../../org/apache/wiki/WikiContext.html#requiredPermission()"><CODE>WikiContext.requiredPermission()</CODE></A>)
+ and delegating the access check to <A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#checkPermission(org.apache.wiki.WikiSession, java.security.Permission)"><CODE>checkPermission(WikiSession, Permission)</CODE></A>.</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/wiki/auth/AuthorizationManager.html#hasAccess(org.apache.wiki.WikiContext, javax.servlet.http.HttpServletResponse, boolean)">hasAccess</A></B>(<A HREF="../../../../org/apache/wiki/WikiContext.html" title="class in org.apache.wiki">WikiContext</A>&nbsp;context,
+                   javax.servlet.http.HttpServletResponse&nbsp;response,
+                   boolean&nbsp;redirect)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether the current user has access to the wiki context (and
+ optionally redirects if not), by obtaining the required Permission (<A HREF="../../../../org/apache/wiki/WikiContext.html#requiredPermission()"><CODE>WikiContext.requiredPermission()</CODE></A>)
+ and delegating the access check to <A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#checkPermission(org.apache.wiki.WikiSession, java.security.Permission)"><CODE>checkPermission(WikiSession, Permission)</CODE></A>.</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/wiki/auth/AuthorizationManager.html#hasRoleOrPrincipal(org.apache.wiki.WikiSession, java.security.Principal)">hasRoleOrPrincipal</A></B>(<A HREF="../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                                     <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>&nbsp;principal)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if the Subject associated with a supplied WikiSession contains
+ a desired user Principal or built-in Role principal, OR is a member a
+ Group or external Role.</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/wiki/auth/AuthorizationManager.html#initialize(org.apache.wiki.WikiEngine, java.util.Properties)">initialize</A></B>(<A HREF="../../../../org/apache/wiki/WikiEngine.html" title="class in org.apache.wiki">WikiEngine</A>&nbsp;engine,
+                     <A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes AuthorizationManager with an engine and set of properties.</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/wiki/auth/AuthorizationManager.html#isJAASAuthorized()">isJAASAuthorized</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if JSPWiki's JAAS authorization system
+ is used for authorization in addition to container controls.</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/wiki/auth/AuthorizationManager.html#isUserInRole(org.apache.wiki.WikiSession, java.security.Principal)">isUserInRole</A></B>(<A HREF="../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                         <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>&nbsp;principal)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if the Subject associated with a
+ supplied WikiSession contains a desired Role or GroupPrincipal.</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/wiki/auth/AuthorizationManager.html#removeWikiEventListener(org.apache.wiki.event.WikiEventListener)">removeWikiEventListener</A></B>(<A HREF="../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A>&nbsp;listener)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Un-registers a WikiEventListener with this instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#resolvePrincipal(java.lang.String)">resolvePrincipal</A></B>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Given a supplied string representing a Principal's name from an Acl, this
+ method resolves the correct type of Principal (role, group, or user).</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://docs.oracle.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://docs.oracle.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://docs.oracle.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://docs.oracle.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://docs.oracle.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://docs.oracle.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://docs.oracle.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://docs.oracle.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://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://docs.oracle.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://docs.oracle.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://docs.oracle.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_AUTHORIZER"><!-- --></A><H3>
+DEFAULT_AUTHORIZER</H3>
+<PRE>
+public static final <A HREF="http://docs.oracle.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/wiki/auth/AuthorizationManager.html#line.105"><B>DEFAULT_AUTHORIZER</B></A></PRE>
+<DL>
+<DD>The default external Authorizer is the <A HREF="../../../../org/apache/wiki/auth/authorize/WebContainerAuthorizer.html" title="class in org.apache.wiki.auth.authorize"><CODE>WebContainerAuthorizer</CODE></A>
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.wiki.auth.AuthorizationManager.DEFAULT_AUTHORIZER">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="POLICY"><!-- --></A><H3>
+POLICY</H3>
+<PRE>
+protected static final <A HREF="http://docs.oracle.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/wiki/auth/AuthorizationManager.html#line.108"><B>POLICY</B></A></PRE>
+<DL>
+<DD>Property that supplies the security policy file name, in WEB-INF.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.wiki.auth.AuthorizationManager.POLICY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DEFAULT_POLICY"><!-- --></A><H3>
+DEFAULT_POLICY</H3>
+<PRE>
+protected static final <A HREF="http://docs.oracle.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/wiki/auth/AuthorizationManager.html#line.111"><B>DEFAULT_POLICY</B></A></PRE>
+<DL>
+<DD>Name of the default security policy file, in WEB-INF.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.wiki.auth.AuthorizationManager.DEFAULT_POLICY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="PROP_AUTHORIZER"><!-- --></A><H3>
+PROP_AUTHORIZER</H3>
+<PRE>
+public static final <A HREF="http://docs.oracle.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/wiki/auth/AuthorizationManager.html#line.116"><B>PROP_AUTHORIZER</B></A></PRE>
+<DL>
+<DD>The property name in jspwiki.properties for specifying the external <A HREF="../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth"><CODE>Authorizer</CODE></A>.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.wiki.auth.AuthorizationManager.PROP_AUTHORIZER">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="AuthorizationManager()"><!-- --></A><H3>
+AuthorizationManager</H3>
+<PRE>
+public <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.132"><B>AuthorizationManager</B></A>()</PRE>
+<DL>
+<DD>Constructs a new AuthorizationManager instance.
+<P>
+</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="checkPermission(org.apache.wiki.WikiSession, java.security.Permission)"><!-- --></A><H3>
+checkPermission</H3>
+<PRE>
+public boolean <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.179"><B>checkPermission</B></A>(<A HREF="../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                               <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</A>&nbsp;permission)</PRE>
+<DL>
+<DD>Returns <code>true</code> or <code>false</code>, depending on
+ whether a Permission is allowed for the Subject associated with
+ a supplied WikiSession. The access control algorithm works this way:
+ <ol>
+ <li>The <A HREF="../../../../org/apache/wiki/auth/acl/Acl.html" title="interface in org.apache.wiki.auth.acl"><CODE>Acl</CODE></A> for the page is obtained</li>
+ <li>The Subject associated with the current
+ <A HREF="../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki"><CODE>WikiSession</CODE></A> is obtained</li>
+ <li>If the Subject's Principal set includes the Role Principal that is
+ the administrator group, always allow the Permission</li>
+ <li>For all permissions, check to see if the Permission is allowed according
+ to the default security policy. If it isn't, deny the permission and halt
+ further processing.</li>
+ <li>If there is an Acl, get the list of Principals assigned this
+ Permission in the Acl: these will be role, group or user Principals, or
+ <A HREF="../../../../org/apache/wiki/auth/acl/UnresolvedPrincipal.html" title="class in org.apache.wiki.auth.acl"><CODE>UnresolvedPrincipal</CODE></A>s (see below).
+ Then iterate through the Subject's Principal set and determine whether
+ the user (Subject) possesses any one of these specified Roles or
+ Principals. The matching process delegates to
+ <A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#hasRoleOrPrincipal(org.apache.wiki.WikiSession, java.security.Principal)"><CODE>hasRoleOrPrincipal(WikiSession, Principal)</CODE></A>.
+ </ol>
+ <p>
+ Note that when iterating through the Acl's list of authorized Principals,
+ it is possible that one or more of the Acl's Principal entries are of
+ type <code>UnresolvedPrincipal</code>. This means that the last time
+ the ACL was read, the Principal (user, built-in Role, authorizer Role, or
+ wiki Group) could not be resolved: the Role was not valid, the user
+ wasn't found in the UserDatabase, or the Group wasn't known to (e.g.,
+ cached) in the GroupManager. If an <code>UnresolvedPrincipal</code> is
+ encountered, this method will attempt to resolve it first <em>before</em>
+ checking to see if the Subject possesses this principal, by calling
+ <A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#resolvePrincipal(java.lang.String)"><CODE>resolvePrincipal(String)</CODE></A>. If the (re-)resolution does not
+ succeed, the access check for the principal will fail by definition (the
+ Subject should never contain UnresolvedPrincipals).
+ </p>
+ <p>
+ If security not set to JAAS, will return true.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>session</CODE> - the current wiki session<DD><CODE>permission</CODE> - the Permission being checked
+<DT><B>Returns:</B><DD>the result of the Permission check<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#hasRoleOrPrincipal(org.apache.wiki.WikiSession, java.security.Principal)"><CODE>hasRoleOrPrincipal(WikiSession, Principal)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isUserInRole(org.apache.wiki.WikiSession, java.security.Principal)"><!-- --></A><H3>
+isUserInRole</H3>
+<PRE>
+public boolean <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.299"><B>isUserInRole</B></A>(<A HREF="../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                            <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>&nbsp;principal)</PRE>
+<DL>
+<DD><p>Determines if the Subject associated with a
+ supplied WikiSession contains a desired Role or GroupPrincipal.
+ The algorithm simply checks to see if the Subject possesses
+ the Role or GroupPrincipal it in its Principal set. Note that
+ any user (anonymous, asserted, authenticated) can possess
+ a built-in role. But a user <em>must</em> be authenticated to
+ possess a role other than one of the built-in ones.
+ We do this to prevent privilege escalation.</p>
+ <p>For all other cases, this method returns <code>false</code>.</p>
+ <p>Note that this method does <em>not</em> consult the external
+ Authorizer or GroupManager; it relies on the Principals that
+ have been injected into the user's Subject at login time, or
+ after group creation/modification/deletion.</p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>session</CODE> - the current wiki session, which must be non-null. If null,
+            the result of this method always returns <code>false</code><DD><CODE>principal</CODE> - the Principal (role or group principal) to look
+            for, which must be non-<code>null</code>. If <code>null</code>,
+            the result of this method always returns <code>false</code>
+<DT><B>Returns:</B><DD><code>true</code> if the Subject supplied with the WikiContext
+         posesses the Role or GroupPrincipal, <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAuthorizer()"><!-- --></A><H3>
+getAuthorizer</H3>
+<PRE>
+public <A HREF="../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth">Authorizer</A> <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.330"><B>getAuthorizer</B></A>()
+                         throws <A HREF="../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD>Returns the current external <A HREF="../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth"><CODE>Authorizer</CODE></A> in use. This method
+ is guaranteed to return a properly-initialized Authorizer, unless
+ it could not be initialized. In that case, this method throws
+ a <A HREF="../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth"><CODE>WikiSecurityException</CODE></A>.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current Authorizer
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if the Authorizer could
+ not be initialized</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasRoleOrPrincipal(org.apache.wiki.WikiSession, java.security.Principal)"><!-- --></A><H3>
+hasRoleOrPrincipal</H3>
+<PRE>
+protected boolean <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.363"><B>hasRoleOrPrincipal</B></A>(<A HREF="../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                                     <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>&nbsp;principal)</PRE>
+<DL>
+<DD><p>Determines if the Subject associated with a supplied WikiSession contains
+ a desired user Principal or built-in Role principal, OR is a member a
+ Group or external Role. The rules are as follows:</p>
+ <ol>
+ <li>First, if desired Principal is a Role or GroupPrincipal, delegate to
+ <A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#isUserInRole(org.apache.wiki.WikiSession, java.security.Principal)"><CODE>isUserInRole(WikiSession, Principal)</CODE></A> and
+ return the result.</li>
+ <li>Otherwise, we're looking for a user Principal,
+ so iterate through the Principal set and see if
+ any share the same name as the one we are looking for.</li>
+ </ol>
+ <p><em>Note: if the Principal parameter is a user principal, the session
+ must be authenticated in order for the user to "possess it". Anonymous
+ or asserted sessions will never posseess a named user principal.</em></p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>session</CODE> - the current wiki session, which must be non-null. If null,
+            the result of this method always returns <code>false</code><DD><CODE>principal</CODE> - the Principal (role, group, or user principal) to look
+            for, which must be non-null. If null, the result of this
+            method always returns <code>false</code>
+<DT><B>Returns:</B><DD><code>true</code> if the Subject supplied with the WikiContext
+         posesses the Role, GroupPrincipal or desired
+         user Principal, <code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAccess(org.apache.wiki.WikiContext, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
+hasAccess</H3>
+<PRE>
+public boolean <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.412"><B>hasAccess</B></A>(<A HREF="../../../../org/apache/wiki/WikiContext.html" title="class in org.apache.wiki">WikiContext</A>&nbsp;context,
+                         javax.servlet.http.HttpServletResponse&nbsp;response)
+                  throws <A HREF="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Checks whether the current user has access to the wiki context,
+ by obtaining the required Permission (<A HREF="../../../../org/apache/wiki/WikiContext.html#requiredPermission()"><CODE>WikiContext.requiredPermission()</CODE></A>)
+ and delegating the access check to <A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#checkPermission(org.apache.wiki.WikiSession, java.security.Permission)"><CODE>checkPermission(WikiSession, Permission)</CODE></A>.
+ If the user is allowed, this method returns <code>true</code>;
+ <code>false</code> otherwise. If access is allowed,
+ the wiki context will be added to the request as an attribute
+ with the key name <A HREF="../../../../org/apache/wiki/tags/WikiTagBase.html#ATTR_CONTEXT"><CODE>WikiTagBase.ATTR_CONTEXT</CODE></A>.
+ Note that this method will automatically redirect the user to
+ a login or error page, as appropriate, if access fails. This is
+ NOT guaranteed to be default behavior in the future.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - wiki context to check if it is accesible<DD><CODE>response</CODE> - the http response
+<DT><B>Returns:</B><DD>the result of the access check
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - In case something goes wrong</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasAccess(org.apache.wiki.WikiContext, javax.servlet.http.HttpServletResponse, boolean)"><!-- --></A><H3>
+hasAccess</H3>
+<PRE>
+public boolean <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.432"><B>hasAccess</B></A>(<A HREF="../../../../org/apache/wiki/WikiContext.html" title="class in org.apache.wiki">WikiContext</A>&nbsp;context,
+                         javax.servlet.http.HttpServletResponse&nbsp;response,
+                         boolean&nbsp;redirect)
+                  throws <A HREF="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Checks whether the current user has access to the wiki context (and
+ optionally redirects if not), by obtaining the required Permission (<A HREF="../../../../org/apache/wiki/WikiContext.html#requiredPermission()"><CODE>WikiContext.requiredPermission()</CODE></A>)
+ and delegating the access check to <A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#checkPermission(org.apache.wiki.WikiSession, java.security.Permission)"><CODE>checkPermission(WikiSession, Permission)</CODE></A>.
+ If the user is allowed, this method returns <code>true</code>;
+ <code>false</code> otherwise. If access is allowed,
+ the wiki context will be added to the request as attribute
+ with the key name <A HREF="../../../../org/apache/wiki/tags/WikiTagBase.html#ATTR_CONTEXT"><CODE>WikiTagBase.ATTR_CONTEXT</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - wiki context to check if it is accesible<DD><CODE>response</CODE> - The servlet response object<DD><CODE>redirect</CODE> - If true, makes an automatic redirect to the response
+<DT><B>Returns:</B><DD>the result of the access check
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - If something goes wrong</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="initialize(org.apache.wiki.WikiEngine, java.util.Properties)"><!-- --></A><H3>
+initialize</H3>
+<PRE>
+public void <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.477"><B>initialize</B></A>(<A HREF="../../../../org/apache/wiki/WikiEngine.html" title="class in org.apache.wiki">WikiEngine</A>&nbsp;engine,
+                       <A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;properties)
+                throws <A HREF="../../../../org/apache/wiki/api/exceptions/WikiException.html" title="class in org.apache.wiki.api.exceptions">WikiException</A></PRE>
+<DL>
+<DD>Initializes AuthorizationManager with an engine and set of properties.
+ Expects to find property 'jspwiki.authorizer' with a valid Authorizer
+ implementation name to take care of role lookup operations.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>engine</CODE> - the wiki engine<DD><CODE>properties</CODE> - the set of properties used to initialize the wiki engine
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../org/apache/wiki/api/exceptions/WikiException.html" title="class in org.apache.wiki.api.exceptions">WikiException</A></CODE> - if the AuthorizationManager cannot be initialized</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isJAASAuthorized()"><!-- --></A><H3>
+isJAASAuthorized</H3>
+<PRE>
+protected boolean <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.529"><B>isJAASAuthorized</B></A>()</PRE>
+<DL>
+<DD>Returns <code>true</code> if JSPWiki's JAAS authorization system
+ is used for authorization in addition to container controls.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the result</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="allowedByLocalPolicy(java.security.Principal[], java.security.Permission)"><!-- --></A><H3>
+allowedByLocalPolicy</H3>
+<PRE>
+protected boolean <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.588"><B>allowedByLocalPolicy</B></A>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>[]&nbsp;principals,
+                                       <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</A>&nbsp;permission)</PRE>
+<DL>
+<DD>Checks to see if the local security policy allows a particular static Permission.
+ Do not use this method for normal permission checks; use
+ <A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html#checkPermission(org.apache.wiki.WikiSession, java.security.Permission)"><CODE>checkPermission(WikiSession, Permission)</CODE></A> instead.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>principals</CODE> - the Principals to check<DD><CODE>permission</CODE> - the Permission
+<DT><B>Returns:</B><DD>the result</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="checkStaticPermission(org.apache.wiki.WikiSession, java.security.Permission)"><!-- --></A><H3>
+checkStaticPermission</H3>
+<PRE>
+protected boolean <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.629"><B>checkStaticPermission</B></A>(<A HREF="../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                                        <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Permission.html?is-external=true" title="class or interface in java.security">Permission</A>&nbsp;permission)</PRE>
+<DL>
+<DD>Determines whether a Subject possesses a given "static" Permission as
+ defined in the security policy file. This method uses standard Java 2
+ security calls to do its work. Note that the current access control
+ context's <code>codeBase</code> is effectively <em>this class</em>,
+ not that of the caller. Therefore, this method will work best when what
+ matters in the policy is <em>who</em> makes the permission check, not
+ what the caller's code source is. Internally, this method works by
+ executing <code>Subject.doAsPrivileged</code> with a privileged action
+ that simply calls <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/AccessController.html?is-external=true#checkPermission(java.security.Permission)" title="class or interface in java.security"><CODE>AccessController.checkPermission(Permission)</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>session</CODE> - the WikiSession whose permission status is being queried<DD><CODE>permission</CODE> - the Permission the Subject must possess
+<DT><B>Returns:</B><DD><code>true</code> if the Subject possesses the permission,
+         <code>false</code> otherwise<DT><B>See Also:</B><DD><A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/AccessController.html?is-external=true#checkPermission(java.security.Permission)" title="class or interface in java.security"><CODE>. A
+       caught exception (or lack thereof) determines whether the privilege
+       is absent (or present).</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resolvePrincipal(java.lang.String)"><!-- --></A><H3>
+resolvePrincipal</H3>
+<PRE>
+public <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A> <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.682"><B>resolvePrincipal</B></A>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;name)</PRE>
+<DL>
+<DD><p>Given a supplied string representing a Principal's name from an Acl, this
+ method resolves the correct type of Principal (role, group, or user).
+ This method is guaranteed to always return a Principal.
+ The algorithm is straightforward:</p>
+ <ol>
+ <li>If the name matches one of the built-in <A HREF="../../../../org/apache/wiki/auth/authorize/Role.html" title="class in org.apache.wiki.auth.authorize"><CODE>Role</CODE></A> names,
+ return that built-in Role</li>
+ <li>If the name matches one supplied by the current
+ <A HREF="../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth"><CODE>Authorizer</CODE></A>, return that Role</li>
+ <li>If the name matches a group managed by the
+ current <A HREF="../../../../org/apache/wiki/auth/authorize/GroupManager.html" title="class in org.apache.wiki.auth.authorize"><CODE>GroupManager</CODE></A>, return that Group</li>
+ <li>Otherwise, assume that the name represents a user
+ principal. Using the current <A HREF="../../../../org/apache/wiki/auth/user/UserDatabase.html" title="interface in org.apache.wiki.auth.user"><CODE>UserDatabase</CODE></A>, find the
+ first user who matches the supplied name by calling
+ <A HREF="../../../../org/apache/wiki/auth/user/UserDatabase.html#find(java.lang.String)"><CODE>UserDatabase.find(String)</CODE></A>.</li>
+ <li>Finally, if a user cannot be found, manufacture
+ and return a generic <A HREF="../../../../org/apache/wiki/auth/acl/UnresolvedPrincipal.html" title="class in org.apache.wiki.auth.acl"><CODE>UnresolvedPrincipal</CODE></A></li>
+ </ol>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the Principal to resolve
+<DT><B>Returns:</B><DD>the fully-resolved Principal</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addWikiEventListener(org.apache.wiki.event.WikiEventListener)"><!-- --></A><H3>
+addWikiEventListener</H3>
+<PRE>
+public void <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.742"><B>addWikiEventListener</B></A>(<A HREF="../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A>&nbsp;listener)</PRE>
+<DL>
+<DD>Registers a WikiEventListener with this instance.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the event listener</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeWikiEventListener(org.apache.wiki.event.WikiEventListener)"><!-- --></A><H3>
+removeWikiEventListener</H3>
+<PRE>
+public void <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.751"><B>removeWikiEventListener</B></A>(<A HREF="../../../../org/apache/wiki/event/WikiEventListener.html" title="interface in org.apache.wiki.event">WikiEventListener</A>&nbsp;listener)</PRE>
+<DL>
+<DD>Un-registers a WikiEventListener with this instance.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the event listener</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="fireEvent(int, java.security.Principal, java.lang.Object)"><!-- --></A><H3>
+fireEvent</H3>
+<PRE>
+protected void <A HREF="../../../../src-html/org/apache/wiki/auth/AuthorizationManager.html#line.765"><B>fireEvent</B></A>(int&nbsp;type,
+                         <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>&nbsp;user,
+                         <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;permission)</PRE>
+<DL>
+<DD>Fires a WikiSecurityEvent of the provided type, user,
+  and permission to all registered listeners.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>type</CODE> - the event type to be fired<DD><CODE>user</CODE> - the user associated with the event<DD><CODE>permission</CODE> - the permission the subject must possess<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/wiki/event/WikiSecurityEvent.html" title="class in org.apache.wiki.event"><CODE>WikiSecurityEvent</CODE></A></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/AuthorizationManager.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;<A HREF="../../../../org/apache/wiki/auth/AuthenticationManager.html" title="class in org.apache.wiki.auth"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/apache/wiki/auth/Authorizer.html" title="interface in org.apache.wiki.auth"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/apache/wiki/auth/AuthorizationManager.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="AuthorizationManager.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 © {inceptionYear}-2014 The Apache Software Foundation. All rights reserved.
+</BODY>
+</HTML>

http://git-wip-us.apache.org/repos/asf/jspwiki-site/blob/edae175e/content/apidocs/2.10.1/org/apache/wiki/auth/AuthorizationManager.png
----------------------------------------------------------------------
diff --git a/content/apidocs/2.10.1/org/apache/wiki/auth/AuthorizationManager.png b/content/apidocs/2.10.1/org/apache/wiki/auth/AuthorizationManager.png
new file mode 100755
index 0000000..7e005f3
Binary files /dev/null and b/content/apidocs/2.10.1/org/apache/wiki/auth/AuthorizationManager.png differ

http://git-wip-us.apache.org/repos/asf/jspwiki-site/blob/edae175e/content/apidocs/2.10.1/org/apache/wiki/auth/Authorizer.html
----------------------------------------------------------------------
diff --git a/content/apidocs/2.10.1/org/apache/wiki/auth/Authorizer.html b/content/apidocs/2.10.1/org/apache/wiki/auth/Authorizer.html
new file mode 100755
index 0000000..3fd66be
--- /dev/null
+++ b/content/apidocs/2.10.1/org/apache/wiki/auth/Authorizer.html
@@ -0,0 +1,328 @@
+<!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_19) on Fri May 23 21:23:16 CEST 2014 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Authorizer (Apache JSPWiki Main War 2.10.1 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2014-05-23">
+
+<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="Authorizer (Apache JSPWiki Main War 2.10.1 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/Authorizer.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;<A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html" title="class in org.apache.wiki.auth"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/apache/wiki/auth/GroupPrincipal.html" title="class in org.apache.wiki.auth"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/apache/wiki/auth/Authorizer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Authorizer.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&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.wiki.auth</FONT>
+<BR>
+Interface Authorizer</H2>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../org/apache/wiki/auth/authorize/WebAuthorizer.html" title="interface in org.apache.wiki.auth.authorize">WebAuthorizer</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../org/apache/wiki/auth/authorize/GroupManager.html" title="class in org.apache.wiki.auth.authorize">GroupManager</A>, <A HREF="../../../../org/apache/wiki/auth/authorize/WebContainerAuthorizer.html" title="class in org.apache.wiki.auth.authorize">WebContainerAuthorizer</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <A HREF="../../../../src-html/org/apache/wiki/auth/Authorizer.html#line.46"><B>Authorizer</B></A></DL>
+</PRE>
+<map id="APIVIZ" name="APIVIZ">
+<area shape="rect" id="node1" href="authorize/WebAuthorizer.html" title="&#171;interface&#187; WebAuthorizer (org.apache.wiki.auth.authorize)" alt="" coords="5,90,211,153"/>
+<area shape="rect" id="node2" href="Authorizer.html" title="&#171;interface&#187; Authorizer" alt="" coords="183,5,268,51"/>
+<area shape="rect" id="node3" href="authorize/GroupManager.html" title="GroupManager (org.apache.wiki.auth.authorize)" alt="" coords="240,99,445,144"/>
+</map>
+<div id="apivizContainer" style="text-align: center;"><img src="Authorizer.png" usemap="#APIVIZ" border="0"></div>
+
+<P>
+Interface for service providers of authorization information. After a user
+ successfully logs in, the
+ <A HREF="../../../../org/apache/wiki/auth/AuthenticationManager.html" title="class in org.apache.wiki.auth"><CODE>AuthenticationManager</CODE></A> consults the configured
+ Authorizer to determine which additional
+ <A HREF="../../../../org/apache/wiki/auth/authorize/Role.html" title="class in org.apache.wiki.auth.authorize"><CODE>Role</CODE></A> principals should be added to
+ the user's WikiSession. To determine which roles should be injected, the
+ Authorizer is queried for the roles it knows about by calling
+ <A HREF="../../../../org/apache/wiki/auth/Authorizer.html#getRoles()"><CODE>getRoles()</CODE></A>. Then, each role
+ returned by the Authorizer is tested by calling
+ <A HREF="../../../../org/apache/wiki/auth/Authorizer.html#isUserInRole(org.apache.wiki.WikiSession, java.security.Principal)"><CODE>isUserInRole(WikiSession, Principal)</CODE></A>.
+ If this check fails, and the Authorizer is of type WebAuthorizer,
+ AuthenticationManager checks the role again by calling
+ <A HREF="../../../../org/apache/wiki/auth/authorize/WebAuthorizer.html#isUserInRole(javax.servlet.http.HttpServletRequest, java.security.Principal)"><CODE>WebAuthorizer.isUserInRole(javax.servlet.http.HttpServletRequest, Principal)</CODE></A>).
+ Any roles that pass the test are injected into the Subject by firing
+ appropriate authentication events.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.3</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== 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://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/apache/wiki/auth/Authorizer.html#findRole(java.lang.String)">findRole</A></B>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;role)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Looks up and returns a role Principal matching a given String.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../org/apache/wiki/auth/Authorizer.html#getRoles()">getRoles</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array of role Principals this Authorizer knows about.</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/wiki/auth/Authorizer.html#initialize(org.apache.wiki.WikiEngine, java.util.Properties)">initialize</A></B>(<A HREF="../../../../org/apache/wiki/WikiEngine.html" title="class in org.apache.wiki">WikiEngine</A>&nbsp;engine,
+                     <A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes the authorizer.</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/wiki/auth/Authorizer.html#isUserInRole(org.apache.wiki.WikiSession, java.security.Principal)">isUserInRole</A></B>(<A HREF="../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                         <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>&nbsp;role)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines whether the Subject associated with a WikiSession is in a
+ particular role.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ 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="getRoles()"><!-- --></A><H3>
+getRoles</H3>
+<PRE>
+<A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>[] <A HREF="../../../../src-html/org/apache/wiki/auth/Authorizer.html#line.57"><B>getRoles</B></A>()</PRE>
+<DL>
+<DD>Returns an array of role Principals this Authorizer knows about. This
+ method will always return an array; an implementing class may choose to
+ return an zero-length array if it has no ability to identify the roles
+ under its control.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of Principals representing the roles</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findRole(java.lang.String)"><!-- --></A><H3>
+findRole</H3>
+<PRE>
+<A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A> <A HREF="../../../../src-html/org/apache/wiki/auth/Authorizer.html#line.68"><B>findRole</B></A>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;role)</PRE>
+<DL>
+<DD>Looks up and returns a role Principal matching a given String. If a
+ matching role cannot be found, this method returns <code>null</code>.
+ Note that it may not always be feasible for an Authorizer implementation
+ to return a role Principal.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>role</CODE> - the name of the role to retrieve
+<DT><B>Returns:</B><DD>the role Principal</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="initialize(org.apache.wiki.WikiEngine, java.util.Properties)"><!-- --></A><H3>
+initialize</H3>
+<PRE>
+void <A HREF="../../../../src-html/org/apache/wiki/auth/Authorizer.html#line.77"><B>initialize</B></A>(<A HREF="../../../../org/apache/wiki/WikiEngine.html" title="class in org.apache.wiki">WikiEngine</A>&nbsp;engine,
+                <A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A>&nbsp;props)
+                throws <A HREF="../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></PRE>
+<DL>
+<DD>Initializes the authorizer.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>engine</CODE> - the current wiki engine<DD><CODE>props</CODE> - the wiki engine initialization properties
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../org/apache/wiki/auth/WikiSecurityException.html" title="class in org.apache.wiki.auth">WikiSecurityException</A></CODE> - if the Authorizer could not be initialized</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isUserInRole(org.apache.wiki.WikiSession, java.security.Principal)"><!-- --></A><H3>
+isUserInRole</H3>
+<PRE>
+boolean <A HREF="../../../../src-html/org/apache/wiki/auth/Authorizer.html#line.91"><B>isUserInRole</B></A>(<A HREF="../../../../org/apache/wiki/WikiSession.html" title="class in org.apache.wiki">WikiSession</A>&nbsp;session,
+                     <A HREF="http://docs.oracle.com/javase/6/docs/api/java/security/Principal.html?is-external=true" title="class or interface in java.security">Principal</A>&nbsp;role)</PRE>
+<DL>
+<DD>Determines whether the Subject associated with a WikiSession is in a
+ particular role. This method takes two parameters: the WikiSession
+ containing the subject and the desired role ( which may be a Role or a
+ Group). If either parameter is <code>null</code>, this method must
+ return <code>false</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>session</CODE> - the current WikiSession<DD><CODE>role</CODE> - the role to check
+<DT><B>Returns:</B><DD><code>true</code> if the user is considered to be in the role,
+         <code>false</code> otherwise</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/Authorizer.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;<A HREF="../../../../org/apache/wiki/auth/AuthorizationManager.html" title="class in org.apache.wiki.auth"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../org/apache/wiki/auth/GroupPrincipal.html" title="class in org.apache.wiki.auth"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html?org/apache/wiki/auth/Authorizer.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Authorizer.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;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © {inceptionYear}-2014 The Apache Software Foundation. All rights reserved.
+</BODY>
+</HTML>

http://git-wip-us.apache.org/repos/asf/jspwiki-site/blob/edae175e/content/apidocs/2.10.1/org/apache/wiki/auth/Authorizer.png
----------------------------------------------------------------------
diff --git a/content/apidocs/2.10.1/org/apache/wiki/auth/Authorizer.png b/content/apidocs/2.10.1/org/apache/wiki/auth/Authorizer.png
new file mode 100755
index 0000000..619f912
Binary files /dev/null and b/content/apidocs/2.10.1/org/apache/wiki/auth/Authorizer.png differ