我对 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 以强制它刷新数据?
谢谢。