簡體   English   中英

Jaas 基本身份驗證 tomcat 7

[英]Jaas Basic Authentication tomcat 7

我不斷收到同樣的錯誤,我已經更改了指定 jaas 配置文件位置的 tomcat7w 文件

        javax.security.auth.login.LoginException: No LoginModules configured for    JaaSExample:
        at javax.security.auth.login.LoginContext.init(LoginContext.java:273)
    at javax.security.auth.login.LoginContext.<init>(LoginContext.java:514)
    at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:417)
    at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:356)
    at org.apache.catalina.realm.CombinedRealm.authenticate(CombinedRealm.java:146)
    at org.apache.catalina.realm.LockOutRealm.authenticate(LockOutRealm.java:180)
    at    org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:166)
    at  org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:574)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)

我已經將這個 tom 添加到我的 tomcat7w.exe 文件中。

    -Djava.security.auth.login.config=C:\Program Files (x86)\Apache Software                 Foundation\Tomcat 7.0\conf\jaas.config

另一個是我也有這個 realm

    <Realm className="org.apache.catalina.realm.JAASRealm" 
    appName="JaaSExample"
    userClassNames="Security.UserPrincipal" roleClassNames="Security.RolePrincipal" />

那我錯過了什么? 請幫我,

我正在使用.netbeans,tomcat 7.0.47。

thank you very much,

我決定使用 glassfish!

根據http://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html#JAASRealm

您應該為Java設置一個login.config文件,並通過指定其在JVM中的位置來告訴Tomcat在哪里找到它,例如,通過設置環境變量: JAVA_OPTS=$JAVA_OPTS -Djava.security.auth.login.config=$CATALINA_BASE/conf/jaas.config

添加

對於Windows,請打開startup.bat添加以下行: set JAVA_OPTS=%JAVA_OPTS% -Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config after okHome

例如

set JAVA_OPTS=%JAVA_OPTS% -Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaas.config
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"

加上前面的回答,還可以在tomcat家的bin目錄下的setenv.bat文件中設置JAVA_OPTS

set "JAVA_OPTS=%JAVA_OPTS% -Djava.security.auth.login.config=%CATALINA_HOME%/conf/jaasData.config"
exit /b 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM