jackrabbit security

本文详细介绍了Apache Jackrabbit的Security配置,包括SecurityManager、AccessManager和LoginModule的使用。SecurityManager主要管理Repository安全,如DefaultSecurityManager用于用户信息存储。LoginModule通过JAAS验证用户登录,而AccessManager处理授权操作。Jackrabbit提供了不同实现,如SimpleLoginModel、DefaultLoginModule、ACLProvider等,以适应不同的安全需求。
摘要由CSDN通过智能技术生成
jackrabbit security主要用来验证登录用户的合法性,并针对相关内容节点来对用户进行维权操作
security信息配置在repository.xml文件当中,通过<security>标签来进行指定
<!ELEMENT Security (SecurityManager?, AccessManager?, LoginModule?)>
由DTD描述可以看出,security的配置主要包含了3方面的信息内容,分别是:SecurityManager、AccessManager和LoginModule.

一、SecurityManager:对Repository实例进行安全管理
xml描述:<SecurityManager class="org.apache.jackrabbit.core.DefaultSecurityManager" workspaceName="security">
其class属性所对应的java类一定要实现JackrabbitSecurityManager接口,该接口对外声明了以下几个方法:
     getAccessManager():返回AccessManager用于权限管理;
     getPrincipalManager():返回PrincipalManager用于principal的查询操作;
     getUserManager():返回UserManager用于用户信息的管理;
     getUserId():返回当前登录用户的userId。
Jackrabbit Security API提供了3个类实现了该接口,分别是:
SimpleSecurityManager:只是简单实现了接口定义,无法通过它获取UserManager来对用户信息进行管理,因此,在使用该类的情况下,用户信息一般存储于其他物理媒介当中(数据库),而不是Jackrabbit里;
DefaultSecurityManager:将用户信息存储到统一的workspace当中以达到所有workspace共享;
UserPerWorkspaceSecurityManager:将用户信息存储到自己单独的workspace当中,其他的workspace不能共享。
UserManager的配置通过<SecurityManager>的子标签<UserManager>来完成
<!ELEMENT SecurityManager (WorkspaceAccessManager?,UserManager?,UserIdClass?, param*)>针对不同的SecurityManager(DefaultSecurityManager | UserPerWorkspaceSecurityManager),jackrabbit声明了两种类型的UserManager实现,分别是UserManagerImpl和UserPerWorkspaceUserManager,用于满足不同情况下的用户管理需求。基本配置信息如下(针对jackrabbit2.*版本):

                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值