1。我尝试从位于某个URL处的Web服务器读取数据。
2。在我们公司中,我使用电子商务API,它可以处理来自Web服务器的数据。
3。首先,要检索数据,我需要从Web服务器中收集数据。
4。要建立数据池,我需要配置连接。
5。步骤“我需要配置连接”的一部分是函数getSession(),该方法使用Shiro api(org.apache.shiro.SecurityUtils) 因此,每隔一段时间,当我尝试与网络服务器建立连接并使用来自网络服务器的数据时,我就成为异常“线程”主线程中的异常” org.apache.shiro.UnavailableSecurityManagerException:调用代码无法访问SecurityManager绑定到org.apache.shiro.util.ThreadContext或作为vm静态单例。这是无效的应用程序配置。“
在写这个问题之前,我试图看一下日志并阅读abotut类和问题,这些在这里描述。
这一切都可以在Windows 10,Java 8,Payara Server(Glassfish),EJBAPI和某些电子商务API上运行。
我使用的进口
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.InvalidSessionException;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
在
ContentConfiguration conf = new ContentConfiguration(
getSessionId(),
Constant.ENTITYMODELL,
Constant.EMPTY,
context);
protected static Session getSession()
{
Subject subject = SecurityUtils.getSubject();
if(subject.isAuthenticated())
return subject.getSession();
else
return null;
}
错误消息
Exception in thread "main" org.apache.shiro.UnavailableSecurityManagerException: No SecurityManager accessible to the calling code, either bound to the org.apache.shiro.util.ThreadContext or as a vm static singleton. This is an invalid application configuration.
at org.apache.shiro.SecurityUtils.getSecurityManager(SecurityUtils.java:123)
at org.apache.shiro.subject.Subject$Builder.<init>(Subject.java:627)
at org.apache.shiro.SecurityUtils.getSubject(SecurityUtils.java:56)
at de.kolb.demo.data.ServiceLocator.getSessionId(ServiceLocator.java:15)
at de.kolb.demo.logic.CommonTest.getCommonData(CommonTest.java:32)
at de.kolb.demo.presentation.ContentDirector.main(ContentDirector.java:34)
答案 0 :(得分:0)
我想得到代表我公司情况的答案,但有很多原则,我将描述与Shiro枢纽中常见问题有关的联系。
1。我的问题与getSessionId()
enter image description here
2。getSessionId()
是公司API的功能。在此函数中,我调用org.apache.shiro.SecurityUtils.getSubject()
enter
link description here
此刻,我想到了异常消息No SecurityManager accessible to the calling code...
。比我在enter link description here上查看Shiro文档。我在那里发现,每次使用Aplication(身份验证和自动身份验证)时,都需要使用“ Realm”对象配置“ SecurityManager”。
4.shiro网站enter link description here