jaas不错啊。
javax.security.auth.Subject代表有一套公有和私有证书的单个用户或组的请求源。在用户验证或者登陆成功完成时创建一个Subject对象
javax.security.auth.login.LoginContext为了授权目的,为开始登陆、注销、和获得验证的Subject提供基本API
javax.security.auth.login.Configuration制定从LoginContext中使用那一个LoginModule的配置对象
javax.security.auth.spi.LoginModule是一个对象,支持JAAS的厂商使用的特有的授权认证方式的模型。这个对象也是执行验证的实际对象。
javax.security.auth.callback.Callback有CallbackHandler接口的对象。允许安全服务与调用应用程序来检索返回特定数据如用户名称和口令。
javax.security.auth.callback.Callback.callbackHandle是一个对象,并作为LoginContext和LoginModule,与一个主题进行通信来获得验证时传递的对象。可以为LoginModule提供信息,也可获得LoginModule的信息。信息通过Callback对象传递。
上面是常使用的对象和方法。你如果希望使用JAAS来开发,建议你选择一定的服务器,因为特定的服务器对于JAAS有着不同的支持。我只是在WEBLOGIC下使用JAAS开发过。其他服务器不太清楚。
javax.security.auth.Subject代表有一套公有和私有证书的单个用户或组的请求源。在用户验证或者登陆成功完成时创建一个Subject对象
javax.security.auth.login.LoginContext为了授权目的,为开始登陆、注销、和获得验证的Subject提供基本API
javax.security.auth.login.Configuration制定从LoginContext中使用那一个LoginModule的配置对象
javax.security.auth.spi.LoginModule是一个对象,支持JAAS的厂商使用的特有的授权认证方式的模型。这个对象也是执行验证的实际对象。
javax.security.auth.callback.Callback有CallbackHandler接口的对象。允许安全服务与调用应用程序来检索返回特定数据如用户名称和口令。
javax.security.auth.callback.Callback.callbackHandle是一个对象,并作为LoginContext和LoginModule,与一个主题进行通信来获得验证时传递的对象。可以为LoginModule提供信息,也可获得LoginModule的信息。信息通过Callback对象传递。
上面是常使用的对象和方法。你如果希望使用JAAS来开发,建议你选择一定的服务器,因为特定的服务器对于JAAS有着不同的支持。我只是在WEBLOGIC下使用JAAS开发过。其他服务器不太清楚。
我会一个部分一个部分贴出来的。
在weblogic中使用的资料可以参考一下weblogic提供的帮助或者他的用户手册什么的。
但是主要的还是sun的JAAS1.0为基础。
IBM网站上也有不少的文章.至于weblogic对其的支持,weblogic只支持jaas的认证,不支持授权,在weblogic上的授权采用的是weblogic的方式实现的.在你初次看sun的jaas规范示例时,可能有点思路不会太清楚,我给你整理了一下,希望对你有些用.目录结构
|----sample_jaas.config①
|----sampleazn.policy②
|----Sample③
|---- SampleAzn.java ④
|---- SampleAction.java ⑤
|----module⑥
| |----SampleLoginModule.java⑦
|----principal⑧
|----SamplePrincipal.java⑨说明:
①:sample_jaas.config用于指定验证类,在程序启动时,以参数:-Djava.security.auth.login.config==sample_jaas.config的形式被使用。
②:sampleazn.policy用于指定主体(Principal)被授与的权限,在程序启动时,以参数:-Djava.security.policy==sampleazn.policy 的形式被使用。
③:Sample 程序代码文件夹
④:SampleAzn.java 运行的主体,取得用户输入用户名及密码,提交LoginModule进行验证。调用SampleAction.java测试权限。
⑤:SampleAction.java 做一些操作,验证操作权限。
⑥:module 目录
⑦:SampleLoginModule.java 验证用户,通过验证后,调用SamplePrincipal生成主体对象,主体对象所拥有的权限,由sampleazn.policy指定。
⑧:principal 目录
⑨:SamplePrincipal.java 主体对象
讲的是jaas在struts上的应用,一个很不错的实例教程了,可以在懂了jaas及struts的基本原理后去看一看.
另一网址:http://www.code-labs.com/article/articleinfo.php?id=848
这里讲的是基于jsp的应用,只涉及了认证,较浅一点,易懂.