尝试为 Shiro 使用自定义领域时出错
Error when trying to use custom realm for Shiro
使用 BalusC 教程将 shiro 实现到 JSF 应用程序
http://balusc.blogspot.fi/2013/01/apache-shiro-is-it-ready-for-java-ee-6.html
目前我正在尝试在示例之上添加我自己的自定义领域,但我显然遗漏了一些东西。
我的 shiro.ini 如下(主要是从给定的教程中复制的,可能都不是必需的):
[main]
user = com.example.filter.AjaxSessionFilter
mockRealm = com.example.realm.MockRealm
authc.loginUrl = /Login.xhtml
user.loginUrl = /Login.xhtml
[users]
admin = password
[urls]
/Login.xhtml = user
/* = user
securityManager.realms = $mockRealm
我的 MockRealm 简而言之:
import org.apache.shiro.realm.AuthorizingRealm;
public class MockRealm extends AuthorizingRealm { /* Implement stuff */ }
我在 GlassFish v4.1 上运行。到目前为止一切正常,直到我尝试添加这个自定义领域。这会导致以下错误:
Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: There is no filter with name '$mockRealm' to apply to chain [securityManager.realms] in the pool of available Filters. Ensure a filter with that name/path has first been registered with the addFilter method(s).
我找不到关于此错误的任何信息,也找不到如何正确实施自定义领域的任何示例。
任何人都可以指出我正确的方向吗?谢谢
好吧,这种情况经常发生(令人讨厌)。
睡了一觉后我意识到
securityManager.realms = $mockRealm
可能在 shiro.ini.
的错误部分
将它移到 [main]
下,它起作用了。
有时你只需要暂时忘记一些事情,以便重新审视它们。
使用 BalusC 教程将 shiro 实现到 JSF 应用程序 http://balusc.blogspot.fi/2013/01/apache-shiro-is-it-ready-for-java-ee-6.html
目前我正在尝试在示例之上添加我自己的自定义领域,但我显然遗漏了一些东西。
我的 shiro.ini 如下(主要是从给定的教程中复制的,可能都不是必需的):
[main]
user = com.example.filter.AjaxSessionFilter
mockRealm = com.example.realm.MockRealm
authc.loginUrl = /Login.xhtml
user.loginUrl = /Login.xhtml
[users]
admin = password
[urls]
/Login.xhtml = user
/* = user
securityManager.realms = $mockRealm
我的 MockRealm 简而言之:
import org.apache.shiro.realm.AuthorizingRealm;
public class MockRealm extends AuthorizingRealm { /* Implement stuff */ }
我在 GlassFish v4.1 上运行。到目前为止一切正常,直到我尝试添加这个自定义领域。这会导致以下错误:
Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.IllegalArgumentException: There is no filter with name '$mockRealm' to apply to chain [securityManager.realms] in the pool of available Filters. Ensure a filter with that name/path has first been registered with the addFilter method(s).
我找不到关于此错误的任何信息,也找不到如何正确实施自定义领域的任何示例。
任何人都可以指出我正确的方向吗?谢谢
好吧,这种情况经常发生(令人讨厌)。
睡了一觉后我意识到
securityManager.realms = $mockRealm
可能在 shiro.ini.
的错误部分
将它移到 [main]
下,它起作用了。
有时你只需要暂时忘记一些事情,以便重新审视它们。