Java EE 8 Web应用程序可以有多个领域:一个始终为内部用户存储启用,另一个用于针对AD的auth / author(例如)。
因此,领域列表如下:
目前,shiro.ini
如下所示:
[main]
...
localUserRealm = local.LocalUserRealm
...
adRealm = org.apache.shiro.realm.activedirectory.ActiveDirectoryRealm
...
securityManager.realms = $localUserRealm, $adRealm
问题:在按下应用程序中的按钮之后,启用/禁用可选adRealm
的最佳方法是什么?启用AD集成" /"禁用AD集成"?
SecurityUtils.getSecurityManager().setRealms(realmsList)
?SecurityUtils.getSecurityManager().setRealms(realmsList)
)? 答案 0 :(得分:2)
您可以在替换它们之前调用getRealms()
(如上所列),获取列表的增量。致电setRealms(newList)
。然后循环遍历增量并检查领域是否为Destroyable
,如果是,请调用destroy()
。