David,

I tested with your web.xml, jspwiki.properties and jspwiki.policy and cannot
reproduce the problem.
Basically there is nothing mis-configured, and the goal you try to achieve
is very common.
(you can comment out jspwiki.security=jaas, it's deprecated)

You could activate the SecurityAppender, see the bottom of
jspwiki.properties, uncomment the SecurityAppender statements and set the
loglevel to debug, maybe that will reveal the error.

regards,
Harry

2010/4/24 David Clemmons <[email protected]>

> Here is the web.xml:
> <?xml version="1.0" encoding="ISO-8859-1"?>
>
>
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
>        version="2.4">
>
>   <description>
>       JSPWiki is an open source JSP-based WikiClone.  It is licensed
>       under the Apache 2.0 license.
>
>       For more information, please come to http://www.jspwiki.org/
>   </description>
>   <display-name>JSPWiki</display-name>
>
>   <!-- Resource bundle default location -->
>   <context-param>
>     <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
>     <param-value>templates.default</param-value>
>   </context-param>
>
>   <!--
>      WikiServletFilter defines a servlet filter which filters all requests.
> It was
>      introduced in JSPWiki 2.4.
>
>      In 2.7/2.8, the WikiServlet filter also performs an important security
> function:
>      it sets authentication status based on container credentials. It
> should generally
>      execute first. Note that if you configure a filter *before* this one
> that returns
>      non-null values for getUserPrincipal() or getRemoteUser(),
> WikiSecurityFilter
>      will pick the credentials up, and set the user's WikiSession state to
>      "authenticated." WikiServletFlter will also set the WikiSession's'
> state
>      to "authenticated" if jspwiki.properties property
> "jspwiki.cookieAuthentication"
>      is set to true, and the user possesses the correct authentication
> cookie.
>
>      Lastly, if jspwiki.properties property "jspwiki.cookieAssertions" is
> set to true,
>      WikiServletFilter will also set WikiSession state to "asserted" if the
> user
>      possesses the correct "assertion cookie."
>   -->
>
>   <filter>
>      <filter-name>WikiServletFilter</filter-name>
>      <filter-class>com.ecyrd.jspwiki.ui.WikiServletFilter</filter-class>
>   </filter>
>   <filter>
>      <filter-name>WikiJSPFilter</filter-name>
>      <filter-class>com.ecyrd.jspwiki.ui.WikiJSPFilter</filter-class>
>   </filter>
>
>   <filter-mapping>
>       <filter-name>WikiServletFilter</filter-name>
>       <url-pattern>/attach/*</url-pattern>
>   </filter-mapping>
>   <filter-mapping>
>       <filter-name>WikiServletFilter</filter-name>
>       <url-pattern>/atom/*</url-pattern>
>   </filter-mapping>
>   <filter-mapping>
>       <filter-name>WikiServletFilter</filter-name>
>       <url-pattern>/dav/*</url-pattern>
>   </filter-mapping>
>   <filter-mapping>
>       <filter-name>WikiServletFilter</filter-name>
>       <url-pattern>/RPCU/</url-pattern>
>   </filter-mapping>
>   <filter-mapping>
>       <filter-name>WikiServletFilter</filter-name>
>       <url-pattern>/RPC2/</url-pattern>
>   </filter-mapping>
>   <filter-mapping>
>       <filter-name>WikiServletFilter</filter-name>
>       <url-pattern>/JSON-RPC</url-pattern>
>   </filter-mapping>
>   <filter-mapping>
>       <filter-name>WikiJSPFilter</filter-name>
>       <url-pattern>/wiki/*</url-pattern>
>   </filter-mapping>
>   <filter-mapping>
>       <filter-name>WikiJSPFilter</filter-name>
>       <url-pattern>*.jsp</url-pattern>
>   </filter-mapping>
>
>   <!--
>       HttpSessionListener used for managing WikiSession's.
>     -->
>   <listener>
>      <listener-class>com.ecyrd.jspwiki.auth.SessionMonitor</listener-class>
>   </listener>
>
>   <!--
>       Now, let's define the XML-RPC interfaces.  You probably don't have to
>       touch these.
>
>       First, we'll define the standard XML-RPC interface.
>     -->
>   <servlet>
>       <servlet-name>XMLRPC</servlet-name>
>       <servlet-class>com.ecyrd.jspwiki.xmlrpc.RPCServlet</servlet-class>
>       <init-param>
>           <param-name>handler</param-name>
>           <param-value>com.ecyrd.jspwiki.xmlrpc.RPCHandler</param-value>
>       </init-param>
>
>       <init-param>
>           <param-name>prefix</param-name>
>           <param-value>wiki</param-value>
>       </init-param>
>   </servlet>
>
>   <!--
>       OK, this then defines that our UTF-8 -capable server.
>     -->
>
>   <servlet>
>       <servlet-name>XMLRPC-UTF8</servlet-name>
>       <servlet-class>com.ecyrd.jspwiki.xmlrpc.RPCServlet</servlet-class>
>       <init-param>
>           <param-name>handler</param-name>
>
> <param-value>com.ecyrd.jspwiki.xmlrpc.RPCHandlerUTF8</param-value>
>       </init-param>
>
>       <init-param>
>           <param-name>prefix</param-name>
>           <param-value>wiki</param-value>
>       </init-param>
>   </servlet>
>
>   <!-- JSON AJAX API -->
>   <servlet>
>       <servlet-name>com.metaparadigm.jsonrpc.JSONRPCServlet</servlet-name>
>
> <servlet-class>com.metaparadigm.jsonrpc.JSONRPCServlet</servlet-class>
>   </servlet>
>
>   <!-- Atom Publishing Protocol -->
>   <servlet>
>       <servlet-name>ATOM</servlet-name>
>
> <servlet-class>com.ecyrd.jspwiki.rpc.atom.AtomAPIServlet</servlet-class>
>   </servlet>
>
>   <!-- Maps short URLS to JSPs; also, detects webapp shutdown. -->
>   <servlet>
>       <servlet-name>WikiServlet</servlet-name>
>       <servlet-class>com.ecyrd.jspwiki.WikiServlet</servlet-class>
>       <load-on-startup>1</load-on-startup>
>   </servlet>
>
>   <servlet>
>       <servlet-name>DAVServlet</servlet-name>
>       <servlet-class>com.ecyrd.jspwiki.dav.WikiDavServlet</servlet-class>
>   </servlet>
>
>   <!--
>       Attachment exchange handler.
>     -->
>
>   <servlet>
>       <servlet-name>AttachmentServlet</servlet-name>
>
> <servlet-class>com.ecyrd.jspwiki.attachment.AttachmentServlet</servlet-class>
>   </servlet>
>
>   <!-- PLACEHOLDER FOR PRE-COMPILED JSP SERVLETS -->
>
>   <!--
>       And finally, let us tell the servlet container which
>       URLs should correspond to which XML RPC servlet.
>     -->
>
>   <!-- By default, this is disabled.  If you want to enabled it,
>        just uncomment the whole section. -->
>
>   <!--  REMOVE ME TO ENABLE XML-RPC
>
>   <servlet-mapping>
>       <servlet-name>XMLRPC</servlet-name>
>       <url-pattern>/RPC2/</url-pattern>
>   </servlet-mapping>
>
>   <servlet-mapping>
>       <servlet-name>XMLRPC-UTF8</servlet-name>
>       <url-pattern>/RPCU/</url-pattern>
>   </servlet-mapping>
>
>   <servlet-mapping>
>       <servlet-name>ATOM</servlet-name>
>       <url-pattern>/atom/*</url-pattern>
>   </servlet-mapping>
>
>   AND REMOVE ME TOO -->
>
>   <servlet-mapping>
>       <servlet-name>AttachmentServlet</servlet-name>
>       <url-pattern>/attach/*</url-pattern>
>   </servlet-mapping>
>
>   <servlet-mapping>
>       <servlet-name>WikiServlet</servlet-name>
>       <url-pattern>/wiki/*</url-pattern>
>   </servlet-mapping>
>
>   <!-- Remove to enable WebDav. EXPERIMENTAL FEATURE!
>   <servlet-mapping>
>       <servlet-name>DAVServlet</servlet-name>
>       <url-pattern>/dav/*</url-pattern>
>   </servlet-mapping>
>   -->
>
>   <servlet-mapping>
>       <servlet-name>com.metaparadigm.jsonrpc.JSONRPCServlet</servlet-name>
>       <url-pattern>/JSON-RPC</url-pattern>
>   </servlet-mapping>
>
>   <!-- This means that we don't have to use redirection
>        from index.html anymore.  Yay! -->
>   <welcome-file-list>
>       <welcome-file>Wiki.jsp</welcome-file>
>   </welcome-file-list>
>
>   <!-- Error pages -->
>   <error-page>
>     <error-code>403</error-code>
>     <location>/error/Forbidden.html</location>
>   </error-page>
>
>   <!--  REMOVE ME TO ENABLE JDBC DATABASE
>   <resource-ref>
>       <description>
>           Resource reference to JNDI factory for the JDBCUserDatabase.
>       </description>
>       <res-ref-name>
>           jdbc/UserDatabase
>       </res-ref-name>
>       <res-type>
>           javax.sql.DataSource
>       </res-type>
>       <res-auth>
>           Container
>       </res-auth>
>   </resource-ref>
>   <resource-ref>
>       <description>
>           Resource reference to JNDI factory for the JDBCGroupDatabase.
>       </description>
>       <res-ref-name>
>           jdbc/GroupDatabase
>       </res-ref-name>
>       <res-type>
>           javax.sql.DataSource
>       </res-type>
>       <res-auth>
>           Container
>       </res-auth>
>   </resource-ref>
>   REMOVE ME TO ENABLE JDBC DATABASE  -->
>
>   <!--  REMOVE ME TO ENABLE JAVAMAIL
>   <resource-ref>
>     <description>Resource reference to a container-managed JNDI JavaMail
> factory for sending e-mails.</description>
>     <res-ref-name>mail/Session</res-ref-name>
>     <res-type>javax.mail.Session</res-type>
>     <res-auth>Container</res-auth>
>   </resource-ref>
>   REMOVE ME TO ENABLE JAVAMAIL  -->
>
>   <!--
>       CONTAINER-MANAGED AUTHENTICATION & AUTHORIZATION
>
>       Here we define the users which are allowed to access JSPWiki.
>       These restrictions cause the web container to apply further
>       contraints to the default security policy in jspwiki.policy,
>       and should be suitable for a corporate intranet or public wiki.
>
>       In particular, the restrictions below allow all users to
>       read documents, but only Authenticated users can comment
>       on or edit them (i.e., access the Edit.jsp page).
>       Users with the role Admin are the only persons who can
>       delete pages.
>
>       To implement this policy, the container enforces two web
>       resource constraints: one for the Administrator resources,
>       and one for  Authenticated users. Note that the "role-name"
>       values are significant and should match the role names
>       retrieved by your web container's security realm. The roles
>       of "Admin" and "Authenticated" are assigned by the web
>       container at login time.
>
>       For example, if you are using Tomcat's built-in "memory realm",
>       you should edit the $CATALINA_HOME/conf/tomcat-users.xml file
>       and add the desired actual user accounts. Each user must possess
>       one or both of the Admin or Authenticated roles. For other realm
>       types, consult your web container's documentation.
>
>       Alternatively, you could also replace all references to
>       "Authenticated" and "Admin" with role names that match those
>       returned by your container's security realm. We don't care
>       either way, as long as they match.
>
>       Note that accessing protected resources will cause your
>       container to try to use SSL (default port for Tomcat is 8443)
>       to secure the web session. This, of course, assumes your
>       web container (or web server) is configured with SSL support.
>       If you do not wish to use SSL, remove the "user-data-constraint"
>       elements.
>   -->
>
>   <!--  REMOVE ME TO ENABLE CONTAINER-MANAGED AUTH
>
>   <security-constraint>
>       <web-resource-collection>
>           <web-resource-name>Administrative Area</web-resource-name>
>           <url-pattern>/Delete.jsp</url-pattern>
>       </web-resource-collection>
>       <auth-constraint>
>           <role-name>Admin</role-name>
>       </auth-constraint>
>       <user-data-constraint>
>           <transport-guarantee>CONFIDENTIAL</transport-guarantee>
>       </user-data-constraint>
>   </security-constraint>
>
>   <security-constraint>
>       <web-resource-collection>
>           <web-resource-name>Authenticated area</web-resource-name>
>           <url-pattern>/Edit.jsp</url-pattern>
>           <url-pattern>/Comment.jsp</url-pattern>
>           <url-pattern>/Login.jsp</url-pattern>
>           <url-pattern>/NewGroup.jsp</url-pattern>
>           <url-pattern>/Rename.jsp</url-pattern>
>           <url-pattern>/Upload.jsp</url-pattern>
>           <http-method>DELETE</http-method>
>           <http-method>GET</http-method>
>           <http-method>HEAD</http-method>
>           <http-method>POST</http-method>
>           <http-method>PUT</http-method>
>       </web-resource-collection>
>
>       <web-resource-collection>
>           <web-resource-name>Read-only Area</web-resource-name>
>           <url-pattern>/attach</url-pattern>
>           <http-method>DELETE</http-method>
>           <http-method>POST</http-method>
>           <http-method>PUT</http-method>
>       </web-resource-collection>
>
>       <auth-constraint>
>           <role-name>Admin</role-name>
>           <role-name>Authenticated</role-name>
>       </auth-constraint>
>
>       <user-data-constraint>
>           <transport-guarantee>CONFIDENTIAL</transport-guarantee>
>       </user-data-constraint>
>   </security-constraint>
>
>   <login-config>
>       <auth-method>FORM</auth-method>
>       <form-login-config>
>           <form-login-page>/LoginForm.jsp</form-login-page>
>           <form-error-page>/LoginForm.jsp</form-error-page>
>       </form-login-config>
>   </login-config>
>
>   <security-role>
>       <description>
>           This logical role includes all authenticated users
>       </description>
>       <role-name>Authenticated</role-name>
>   </security-role>
>
>   <security-role>
>       <description>
>           This logical role includes all administrative users
>       </description>
>       <role-name>Admin</role-name>
>   </security-role>
>
>   REMOVE ME TO ENABLE CONTAINER-MANAGED AUTH  -->
>
> </web-app>
>
>
>  David Clemmons
>
>
>
>
> ________________________________
> From: Harry Metske <[email protected]>
> To: [email protected]
> Sent: Sat, April 24, 2010 10:28:42 AM
> Subject: Re: ACL problem
>
> David,
>
> your jspwiki.policy looks fine.
> I cannot reproduce your problem, when you access the protected page
> anonymously you should get a message like
> *User 0:0:0:0:0:0:0:1 has no access - redirecting
>
> (permission=("com.ecyrd.jspwiki.auth.permissions.PagePermission","JSPWiki:Testpage","view"))
> *
>
> Have you made changes to web.xml and/or jspwiki.properties that might
> affect
> this behaviour ?
> Can you reproduce it on http://sandbox.jspwiki.org ?
>
> regards,
> Harry
>
>
> 2010/4/24 David Clemmons <[email protected]>
>
> > Harry,
> >    FYI, I have the same problem on Tomcat running on Ubuntu.
> >
> >  David Clemmons
> >
> >
> >
> >
> > ________________________________
> > From: Harry Metske <[email protected]>
> > To: [email protected]
> > Sent: Thu, April 22, 2010 3:58:57 AM
> > Subject: Re: ACL problem
> >
> > David,
> >
> > the list does not accept attachments, can you put them inline, or put
> them
> > somewhere on a public host ?
> >
> >
> > regards,
> > Harry
> >
> > 2010/4/22 David Clemmons <[email protected]>
> >
> > > Attached is the policy and log file.
> > >  Thank You,
> > > David Clemmons
> > >
> > >
> > > ------------------------------
> > > *From:* Harry Metske <[email protected]>
> > > *To:* [email protected]
> > > *Sent:* Wed, April 21, 2010 11:52:42 AM
> > > *Subject:* Re: ACL problem
> > >
> > > David,
> > >
> > > can you share your jspwiki.policy file and the logfiles with us ?
> > > Your problem description is not enough for us to help you.
> > >
> > > regards,
> > > Harry
> > >
> > > 2010/4/19 David Clemmons <[email protected]>
> > >
> > > > I have installed JSPWIKI 2.83 on Websphere but I cannot get  ACL to
> > > > work.  For instance, I have a page with [{ALLOW view DavidClemmons}]
> > but
> > > > anonymous users can still view this.
> > > >
> > > >
> > > >  David Clemmons
> > > >
> > >
> >
>

Reply via email to