我面临的问题与授权有关,
- 我以这种方式将应用程序的角色授予用户: BasicModel.grantRole(relationshipManager, identity.getAccount(), role);
但是当我使用 hasRole(this.relationshipManager, this.identity.getAccount(), role); 似乎总是返回 true,即使我授予另一个角色,例如。我授予 ROLEA 角色,当我要求 ROLEB 时,它返回 true。我在 PL 快速入门中找到的 grantRole 方法不被编译器识别,但它可以识别 hasRole。
- 授权注释似乎不起作用,允许未登录的用户调用该方法,当然还允许具有任何角色的用户调用该方法
@LoggedIn
@RolesAllowed({"borrower"})
否则,PL 似乎运行良好,具有身份验证和身份管理器。我的环境是 WildFly 8.2 和 PK 2.7.Final, JPA。这些是我从基本模型映射的类:
<class>org.picketlink.idm.jpa.model.sample.simple.AttributedTypeEntity</class>
<class>org.picketlink.idm.jpa.model.sample.simple.RoleTypeEntity</class>
<class>org.picketlink.idm.jpa.model.sample.simple.IdentityTypeEntity</class>
<class>org.picketlink.idm.jpa.model.sample.simple.RelationshipTypeEntity</class<
<class>org.picketlink.idm.jpa.model.sample.simple.RelationshipIdentityTypeEntity</class>
<class>org.picketlink.idm.jpa.model.sample.simple.PartitionTypeEntity</class>
<class>org.picketlink.idm.jpa.model.sample.simple.AttributeTypeEntity</class>