我嘗試從位于某個(gè) URL 的網(wǎng)絡(luò)服務(wù)器讀取數(shù)據(jù)。在我們公司,我使用電子商務(wù) API,它處理來自網(wǎng)絡(luò)服務(wù)器的數(shù)據(jù)。首先要檢索數(shù)據(jù),我需要從網(wǎng)絡(luò)服務(wù)器創(chuàng)建數(shù)據(jù)池。要?jiǎng)?chuàng)建數(shù)據(jù)池,我需要配置連接?!拔倚枰渲眠B接”步驟的一部分是函數(shù) getSession(),它使用 Shiro api(org.apache.shiro.SecurityUtils) 所以每次當(dāng)我嘗試與網(wǎng)絡(luò)服務(wù)器建立連接并使用來自Web 服務(wù)器我成為一個(gè)異?!爸骶€程中的異?!眔rg.apache.shiro.UnavailableSecurityManagerException:調(diào)用代碼無法訪問 SecurityManager,綁定到 org.apache.shiro.util.ThreadContext 或作為 vm 靜態(tài)單例。這是無效的應(yīng)用程序配置?!痹趯戇@個(gè)問題之前,我試著查看日志并閱讀有關(guān)類和問題的信息,這些在此處進(jìn)行了描述。這一切都在 Windows 10、Java 8、Payara Server(Glassfish) 上運(yùn)行,帶有 EJBAPI 和一些電子商務(wù) API。導(dǎo)入我使用的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;}錯(cuò)誤信息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)
1 回答

MYYA
TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
我想得到代表我公司情況的答案,但是我將描述的很多原則與 Shiro hub 中的常見問題有關(guān)。
1.我的問題與getSessionId()
在這里輸入圖片描述有關(guān)
2.getSessionId()
這是公司API的一個(gè)功能。在此功能中,我調(diào)用org.apache.shiro.SecurityUtils.getSubject()
enter link description here
這時(shí)我想到了exception Message
No SecurityManager accessible to the calling code...
。比起我在這里查看 Shiro 文檔,請?jiān)诖颂?a >輸入鏈接描述。在那里我發(fā)現(xiàn),每次當(dāng)我使用應(yīng)用程序時(shí),它使用身份驗(yàn)證和自動(dòng)化,我需要用“領(lǐng)域”對象配置“SecurityManager”。4.這是shiro網(wǎng)站上的一個(gè)小說明和詳細(xì)說明在這里輸入鏈接描述
添加回答
舉報(bào)
0/150
提交
取消