IdentityManagerとシームに問題があります。私は私の問題を説明します:
私のアプリケーションには、役割に権限を追加するためのページがあります。保存する方法は次のとおりです。
JpaPermissionStore jpaPermissionStore = (JpaPermissionStore) Component.getInstance("org.jboss.seam.security.jpaPermissionStore", true);
List<Permission> permissions = new ArrayList<Permission>();
for (String s : this.selectedActions)
permissions.add(new Permission(this.selectedTarget, s, new org.jboss.seam.security.Role(role)));
if (permissions.size() > 0)
jpaPermissionStore.grantPermissions(permissions);
Conversation.instance().end();
この方法ではすべて正常に機能します。権限がデータベースに追加されます。
ただし、保存権限を取得した後、アプリケーションは、権限を持つ役割を一覧表示するページでユーザーをリダイレクトします。
このページでは、新しい権限は表示されません。問題を調査した後、identityManagerがデータベースから権限をロードしていないようです。
だから私の質問は:
IdentityManagerを更新して、データを強制的に更新するにはどうすればよいですか?
ありがとう。