今天摆弄JAAS,关于那个配置文件的寻找路径,颇费功夫。总结一下吧
代码:
public static void main(String[] args) {
// 建立登陆上下文,并通过配置文件初始化,在这里配置文件必须与程序同目录
LoginContext loginContext = null;
try {
String jaasConfigFilePath = "jaas.config";
System.setProperty("java.security.auth.login.config",
jaasConfigFilePath);
loginContext = new LoginContext("simple",
new SimpleCallbackHandle());
} catch (LoginException e) {
System.out.println(e.getMessage());
}
try {
// 如果不抛出异常表示验证成功
loginContext.login();
} catch (LoginException e) {
}
}
包结构如下:
![](http://hi.csdn.net/attachment/201107/21/0_1311237617HGNI.gif)
如果将jass.config 放到JaasExample下,则在Eclipse下运行上述代码是成功的;
如果将jass.config文件放置到src目录下,则在Eclipse下运行上述代码不成功,但是进入cmd命令行,如下:
这样可以运行。
这个原因尚不清楚,还望大家不吝赐教!