TextCallbackHandler密码问题

时间:2015-04-24 02:48:23

标签: java jaas

我正在尝试为JAAS做一些教程并遇到一个奇怪的问题。当我在我的IDE中,一切正常,我被问到用户名和密码

LoginContext lc = new LoginContext("JaasSample", new TextCallbackHandler());
lc.login();

但是如果我从jar中运行同一个类,我只会被要求输入用户名,然后我立即得到一个例外(不要求输入密码):

    [vmuser@VMServer1 jaasacn]$ sh run.sh 
    Kerberos username [vmuser]: user1 
Kerberos password for user1: Authentication failed:   
Security Exception 
javax.security.auth.login.LoginException: Security Exception
                at javax.security.auth.login.LoginContext.invoke(LoginContext.java:848)
                at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)
                at javax.security.auth.login.LoginContext$4.run(LoginContext.java:690)
                at javax.security.auth.login.LoginContext$4.run(LoginContext.java:688)
                at java.security.AccessController.doPrivileged(Native Method)
                at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:687)
                at javax.security.auth.login.LoginContext.login(LoginContext.java:595)
                at JaasAcn.main(JaasAcn.java:29) Caused by: java.lang.SecurityException
                at javax.security.auth.login.LoginContext.invoke(LoginContext.java:849)
                ... 7 more

可能是什么问题?!

提前谢谢

1 个答案:

答案 0 :(得分:0)

当我尝试从部署在Jboss中的应用程序登录时,我遇到了确切的问题和异常。当我从IDE运行时,jaas登录模块工作正常,但是当它在Jboss中运行时失败了。经过一些研究,我发现实际的jaas.config文件被忽略了,配置Jaas模块的唯一方法是使用Jboss standalone.xml文件(在我的例子中)。在standalone.xml中声明模块后,一切都按预期工作。

无论如何,我花了一些时间来弄清楚安全例外是什么。

在你的情况下一定有一些配置问题..我希望这有帮助