﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-paulwong-随笔分类-JAAS</title><link>http://www.blogjava.net/paulwong/category/49742.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 06 Oct 2011 03:53:14 GMT</lastBuildDate><pubDate>Thu, 06 Oct 2011 03:53:14 GMT</pubDate><ttl>60</ttl><item><title>深入浅出JAAS</title><link>http://www.blogjava.net/paulwong/archive/2011/10/06/360063.html</link><dc:creator>paulwong</dc:creator><author>paulwong</author><pubDate>Thu, 06 Oct 2011 03:38:00 GMT</pubDate><guid>http://www.blogjava.net/paulwong/archive/2011/10/06/360063.html</guid><wfw:comment>http://www.blogjava.net/paulwong/comments/360063.html</wfw:comment><comments>http://www.blogjava.net/paulwong/archive/2011/10/06/360063.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/paulwong/comments/commentRss/360063.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/paulwong/services/trackbacks/360063.html</trackback:ping><description><![CDATA[JAAS:JAVA的认证和权限系统，是JDK级的，并且属于J2EE的规范之一，容器必须要实现的。<br />作用就要规范外部（对于J2EE程序，外部指浏览器客户端，对于J2SE程序，外部指调用程序）如果要作用JDK里面的东西时的情况。<br />认证：<br />
<ol><li>把验证代码写在LOGINMODULE的实现类的login()方法中</li><li>通过配置文件和加JAVA_OTPS的方式告诉JDK类全名</li><li>告诉JDK需要使用认证的地方<br />如果是J2SE的程序，在需要认证的地方加上LOGINCONTEXT的login()，JDK会回调上面的login()方法，不通过则抛出excetion，通过则将客户端相关信息保存到SUBJECT中；<br />如果是J2EE程序，则在WEB.XML中配置相应元素，容器会回调上面的login()方法，如果不通过则导到登录页面，通过则将客户端相关信息保存到SUBJECT中 </li></ol>验证权限：<br />
<ol><li>写好权限策略内容：以PRINCALS为单位，列出这个PRINCALS能做的事：PERMISSION子类列表，PERMISSION子类实现了要保护的对象，关键识别参数，操作保护方法，保存为策略文件</li><li>把涉及到保护对象操作的代码放到PrivilegedAction实现类的run()方法内</li><li>通过配置文件和加JAVA_OTPS的方式告诉JDK资源文件全名，策略文件全名和需要启用SECURITY MANAGER&nbsp;</li><li>在需要验证权限的地方，调用Subject.doAsPrivileged(Subject, PrivilegedAction, null)，JDK或容器根据策略文件该SUBJECT是有操作要保护对象的权限，没有则则抛出excetion，有则执行 </li></ol>相关实例可参照<a href="http://download.oracle.com/javase/1.4.2/docs/guide/security/jaas/tutorials/GeneralAcnAndAzn.html" target="_blank">http://download.oracle.com/javase/1.4.2/docs/guide/security/jaas/tutorials/GeneralAcnAndAzn.html</a>
<p>&nbsp;</p><img src ="http://www.blogjava.net/paulwong/aggbug/360063.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/paulwong/" target="_blank">paulwong</a> 2011-10-06 11:38 <a href="http://www.blogjava.net/paulwong/archive/2011/10/06/360063.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>