0

アプリケーションに picketlink を使用しています。どなたか助けていただければ幸いです。

アプリケーションには多くのグループ (管理者、カスタマー サービスなど) があり、各グループには多くの役割 (新しいユーザーの作成、新しい従業員の作成、給与処理の開始など) を設定できます。

ユーザーを 1 つ以上のグループに割り当て、グループを 1 つ以上のロールに割り当てることができます。通常、グループに割り当てられたユーザーは、グループのすべての役割を継承すると考えていました。グループに割り当てられたユーザーに BasicModel.hasRole を使用すると、そのグループに割り当てられたすべてのロールに対して true が返されます。これは予想どおりです。ただし、残りのエンドポイントで @RolesAllowed アノテーションを使用すると、同じユーザーに対して常にアクセス拒否例外が返されます。誰かが提案できる回避策があれば?@RolesAllowed で、許可されたロールを持つグループ内のユーザーが通過できるようにしたい。

または、使用できる他の注釈はありますか?

4

1 に答える 1

0

パッケージ org.picketlink.authorization.annotations で次のいずれかを試してください。

@GroupsAllowed  

グループのメンバーのみがメソッドの呼び出しを許可される認可制約を定義します。

@LoggedIn   

認証されたユーザーのみがメソッドの呼び出しを許可される認可制約を定義します。

@PartitionsAllowed  

認証されたアカウントがパーティション内に保存されているかどうかを確認する承認制約を定義します。

@RequiresLevel  

指定されたレベル以上のユーザーのみがメソッドの呼び出しを許可される認可チェックを定義します

@RequiresPermission     

認証されたアカウントが特定の権限を持っているかどうかを確認する承認制約を定義します。

@Restrict   

統一式言語を使用して、型またはメソッドに承認制約を定義します。

@RolesAllowed   

認証されたアカウントに 1 つ以上のロールが付与されているかどうかを確認する承認制約を定義します。

ここから: http://docs.jboss.org/picketlink/2/latest/api/org/picketlink/authorization/annotations/package-summary.html

于 2015-01-29T14:50:41.293 に答える