如何利用JAAS实现一个认证授权的例子
1、Kerberos已经配置完成。

2、在java测试程序中设置Kerberos的相关属性Properties props = new Properties(); props.load(new Fi造婷用痃leInputStream("client.properties")); System.setProperty("sun.security.krb5.debug", "true"); System.setProperty("java.security.krb5.realm", props.getProperty("realm")); System.setProperty("java.security.krb5.kdc", props.getProperty("kdc"));client.properties具体内容如下所示:

3、设置登录Kerberos使用的洧粽袄淖配置文件和用到的用户名和密码System.setProperty("java.security.auth.login.config", &鳎溻趄酃quot;./jaas.conf"); System.setProperty("javax.security.auth.useSubjectCredsOnly", "false"); String username = props.getProperty("client.principal.name"); String password = props.getProperty("client.password");jaas.conf配置文件如下所示:主要看此文件Client备份配置内容,可以看到jaas登录使用的是Krb5LoginModule模式

4、使用LoginContext类完成认证。此时的关键参数为用户名和密码。

5、使用LoginContext类进行认证时,调用了回调类LoginCallbackHandler。此类主要是对用户名和密码的处理。

6、认证通过后获取一个subject。获取subject后就可通过此授权进行相关操作了。
