這有個 jaas tomcat的實例, 先看下吧: http://zhidao.baidu.com/question/31047013.html 準備文件和目錄 創建文件login.jsp和error.jsp login.jsp的內容 <html> <head> <meta HTTP-EQUIV="Content-Type" Content="text-html; charset=gbk"> <title>login</title> </head> <body> <form method="POST" action="j_security_check"> 姓名:<input type="text" name="j_username"/> <br/> 密碼:<input type="password" name="j_password"/> <br/> <input type="submit" value="提交"/> </form> </body> </html> 在根目錄下創建目錄web,在新建的目錄下創建一個文件index.jsp,內容如下 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GBK"> <title>Apache-Axis</title> </head> <body bgcolor="#FFFFFF"> request.FORM_AUTH:<%=request.FORM_AUTH%><br/> request.getRemoteUser():<%=request.getRemoteUser()%><br/> </body> </html> 設置配置文件 在web.xml中添加以下內容 <web-app> ... <security-constraint> <!-- Sample Security Constraint --> <web-resource-collection> <!-- We're going to protect this resource and make it available only to users in "role1". --> <web-resource-name>protected-resources</web-resource-name> <url-pattern>/web/*</url-pattern> <http-method>HEAD</http-method> <http-method>GET</http-method> <http-method>POST</http-method> <http-method>PUT</http-method> <http-method>DELETE</http-method> </web-resource-collection> <!-- NOTE: This role names will be retrieved by Josso using the propper identity store. --> <auth-constraint> <role-name>role1</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint> </security-constraint> <login-config> <auth-method>FORM</auth-method> <form-login-config> <form-login-page>/login.jsp</form-login-page> <form-error-page>/error.jsp</form-error-page> </form-login-config> </login-config> <security-role > <description>Role 1</description> <role-name>role1</role-name> </security-role> </web-app> 測試 打開tomcat目錄下的conf/tomcat-users.xml文件,內容如下 <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="role1" password="tomcat" roles="role1"/> <user username="both" password="tomcat" roles="tomcat,role1"/> </tomcat-users> 啟動tomcat,在瀏覽器中輸入地址http://localhost:8080/hello/web/,顯示的內容不是/web/index.html,而是login.jsp的內容,輸入both或者role1的用戶名和密碼,將會看到web/index.html的內容,當然,如果輸入錯誤,則會提示錯誤信息。驗證通過后,我們可以看到如下內容: request.FORM_AUTH:FORM request.getRemoteUser():both? //用戶名 sun公司也有提供了一個關于JAAS的實例,可供實際分析JAAS使用原理,本人在網上找了許久這方面的文章,希望對你有幫助。 1、首先下載實例代碼 http://java./j2se/1.4.2/docs/guide/security/jaas/tutorials/sample_jaas.config http://java./j2se/1.4.2/docs/guide/security/jaas/tutorials/SampleAcn.java http://java./j2se/1.4.2/docs/guide/security/jaas/tutorials/SampleLoginModule.java http://java./j2se/1.4.2/docs/guide/security/jaas/tutorials/SamplePrincipal.java http://java./j2se/1.4.2/docs/guide/security/jaas/tutorials/sampleacn.policy 2、SampleAcn.java 放在 sample 目錄中, SampleLoginModule.java 放在 sample/module 之下, 而 SamplePricipal 放在 sample/principal 之下。 3、將 config 和 policy 配置文件放到項目的根目錄中,切記,否則無法找到此文件。 4、將所有文件編譯后執行以下命令 java -Djava.security.auth.login.config==sample_jaas.config sample.SampleAcn 如果使用Eclipse則在Run... SampleAcn.java 類時把-Djava.security.auth.login.config==sample_jaas.config 參數填寫入Arguments標簽頁面的VM arguments框中。 5、此時在控制臺顯示要求用戶輸入user name:和password:,分別輸入testUser和testPassword即可驗證通過。 至于Jaas原理,有時間可以研究一下源代碼即可。 |
|
來自: whiskey1122 > 《JAAS》