我正在使用Apache Shiro作为我的应用程序的理解框架。我在http://www.grails.org/plugin/shiro跟踪了参考文献 并且我的应用程序抛出异常:
调用代码无法访问的SecurityManager,无论是绑定到org.apache.shiro.util.ThreadContext还是作为vm静态单例。这是一个无效的应用程序配置。
java.lang.IllegalStateException:调用代码无法访问的SecurityManager,无论是绑定到org.apache.shiro.util.ThreadContext还是作为vm静态单例。这是一个无效的应用程序配置。 在org.apache.shiro.SecurityUtils.getSecurityManager(SecurityUtils.java:115) 在org.apache.shiro.SecurityUtils.getSubject(SecurityUtils.java:57) 在br.netsoft.ShiroDbRealmTests.testAutenticarComDadosCorretos(ShiroDbRealmTests.groovy:58) 在junit.framework.Test $ run.call(未知来源)
我能做什么?
答案 0 :(得分:1)
这似乎是一个已知问题 - 请参阅http://jira.codehaus.org/browse/GRAILSPLUGINS-1980,其中有一些建议的解决方法。此外,this thread揭示了潜在原因。
答案 1 :(得分:0)
我在grails app的单元测试框架中遇到了这个异常。 我在setUp方法中初始化了安全服务,并且测试测试框架不再出现此异常
@Before
void setUP(){
new org.apache.shiro.grails.ShiroSecurityService()
}