理解并使用 JSPWiki 中的权限控制
by Jacky Liu (beansoft@126.com) version 1.0 2007.01.06
 
说明: 因为排版问题, 本文的完整内容请点击此处阅读: http://cid-519b3f7aa2172030.office.live.com/self.aspx/Public/jspwiki/jspwiki%5E_auth.htm 

http://cid-519b3f7aa2172030.office.live.com/embedicon.aspx/Public/jspwiki/jspwiki_auth.htm

 
JSPWiki(http://www.jspwiki.org/ ) 是一款简单易用的基于 JSP + Servelt + JavaBean 的不依赖于其它 J2EE 框架的 Wiki 系统, 它本身的存储基于文件系统, 只需要 Tomcat 即可运行, 代码也比较便于读懂并加以改进. 虽然说是简单易用, 但是因为其后台管理系统的功能不够强大, 所以在公司内部使用时仍旧遇到了一些权限控制的问题. 本文将基于JSPWiki v2.4.71 来讨论 JSPWiki的权限管理. </p>

注: 如果不加说明, 引用的资料都来自于 JSPWiki 源码中的注释; 文中的源码均来自于 JSPWiki v2.4.71 的源代码包.

我们首先介绍它的权限系统, 最后再介绍如何使用.

一. 权限系统介绍

JSPWiki 有下列的一些权限相关的类:
com.ecyrd.jspwiki.auth.authorize.Role 中定义了一些内置的 principal, 这些 principal 有: </div>

Principal Name Principal Explanation
All All users, regardless of authentication status
Anonymous If the user hasn’t supplied a name
Asserted If the user has supplied a cookie with a username
Authenticated If the user has authenticated with the Container or UserDatabase
Admin Administrators (principals or roles possessing AllPermission)
are allowed to delete any page, and can edit, rename and delete
groups. You should match the permission target (here, ‘JSPWiki’)
with the value of the ‘jspwiki.applicationName’ property in
jspwiki.properties. Two administative groups are set up below:
the wiki group "Admin" (stored by default in wiki page GroupAdmin)
and the container role "Admin" (managed by the web container).
在 com.ecyrd.jspwiki.auth.GroupPrincipal 中定义了基于 Group 的角色, 这些角色有如下限制:
*
  • Groups cannot have the same name as a built-in Role (e.g., "Admin",
    * "Authenticated" etc.)

  • *
  • Groups cannot have the same name as an existing user

  • . 不能和内置角色重名, 不能和现有的用户名一样.
    ……………………………..

    转载请注明:WebLogic Android 博客 » 理解并使用 JSPWiki 中的权限控制[整理]