导读:
Jetspeed-2安全机制
J2使用JAAS的来处理security有关的问题。在j2捆绑的tomcat中,从bin同级别目录conf中查找Catalina/localhost/jetspeed.xml,打开这个文件可看到有关JAAS Realm及login的设定。
tomcat/conf/ l及C:/tomcat/webapps/jetspeed/WEB-INF/web.xml看到有關及login的設定 :
appName="Jetspeed"
userClassNames="org.apache.jetspeed.security.impl.UserPrincipalImpl"
roleClassNames="org.apache.jetspeed.security.impl.RolePrincipalImpl"
useContextClassLoader="false"
debug="0"/> appName="Jetspeed"
userClassNames="org.apache.jetspeed.security.impl.UserPrincipalImpl"
roleClassNames="org.apache.jetspeed.security.impl.RolePrincipalImpl"
useContextClassLoader="false"
debug="0"/>
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" username="sa" password=""
driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://127.0.0.1:9001"
maxActive="100" maxIdle="30" maxWait="10000"/> factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" username="sa" password=""
driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://127.0.0.1:9001"
maxActive="100" maxIdle="30" maxWait="10000"/>
大致上来说,JAAS包含Principal、Permission、Policy三个概念。在J2中有user、role、group三种Principal。而Permission基本上有page、portlet,tab等等,当然也可以增加自定的Permission。至于Policy,J2并没有使用JAAS的policy,而是使用自带的RdbmsPolicy,也就是把Policy的信息存在资料库中;而通过适当的设置, J2也可以使用相关App Server的JAAS。
底下是官方的security组加的架构图:
在J2中,核心的部份就是"J2 Security Coarsed Services"里的4个Manager组件:UserManager,RoleManager,GroupManager,PermissionManager, J2的JAAS login module实际上是使用UserManager来进行authentication;UserManager通过OJB自数据库中取出user的信息例如UserPrincipal、Crendential等并进行authorization.
J2在security的部份也提供了SPI的设计供开发人员加入自定的认证方式,例如使用LDAP,参考底下官方的连接:
http://portals.apache.org/jetspe ... -security/ldap.html,可以知道如何使用LDAP来进J2上的认证。
TOP
本文转自
http://soa.5d6d.com/redirect.php?fid=9&tid=11&goto=nextoldset
Jetspeed-2安全机制
J2使用JAAS的来处理security有关的问题。在j2捆绑的tomcat中,从bin同级别目录conf中查找Catalina/localhost/jetspeed.xml,打开这个文件可看到有关JAAS Realm及login的设定。
tomcat/conf/ l及C:/tomcat/webapps/jetspeed/WEB-INF/web.xml看到有關及login的設定 :
appName="Jetspeed"
userClassNames="org.apache.jetspeed.security.impl.UserPrincipalImpl"
roleClassNames="org.apache.jetspeed.security.impl.RolePrincipalImpl"
useContextClassLoader="false"
debug="0"/> appName="Jetspeed"
userClassNames="org.apache.jetspeed.security.impl.UserPrincipalImpl"
roleClassNames="org.apache.jetspeed.security.impl.RolePrincipalImpl"
useContextClassLoader="false"
debug="0"/>
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" username="sa" password=""
driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://127.0.0.1:9001"
maxActive="100" maxIdle="30" maxWait="10000"/> factory="org.apache.commons.dbcp.BasicDataSourceFactory"
type="javax.sql.DataSource" username="sa" password=""
driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://127.0.0.1:9001"
maxActive="100" maxIdle="30" maxWait="10000"/>
大致上来说,JAAS包含Principal、Permission、Policy三个概念。在J2中有user、role、group三种Principal。而Permission基本上有page、portlet,tab等等,当然也可以增加自定的Permission。至于Policy,J2并没有使用JAAS的policy,而是使用自带的RdbmsPolicy,也就是把Policy的信息存在资料库中;而通过适当的设置, J2也可以使用相关App Server的JAAS。
底下是官方的security组加的架构图:
在J2中,核心的部份就是"J2 Security Coarsed Services"里的4个Manager组件:UserManager,RoleManager,GroupManager,PermissionManager, J2的JAAS login module实际上是使用UserManager来进行authentication;UserManager通过OJB自数据库中取出user的信息例如UserPrincipal、Crendential等并进行authorization.
J2在security的部份也提供了SPI的设计供开发人员加入自定的认证方式,例如使用LDAP,参考底下官方的连接:
http://portals.apache.org/jetspe ... -security/ldap.html,可以知道如何使用LDAP来进J2上的认证。
TOP
本文转自
http://soa.5d6d.com/redirect.php?fid=9&tid=11&goto=nextoldset