2014年8月6日 星期三

如何使用JSP的安全機制功能-以tomcat及netbeans為例

JSP的安全機制功能,可以很簡單地用宣告式的方法來進行設定,如以下步驟:

1.Tomcat中設定Role(角色)、身份(User)與密碼(Password)(採宣告方式,與程式獨立)
TomcatCatalinaHome/conf/tomcat-users.xml<tomcat-users>的標籤中,設定<user><roles>的內容,如以下所示:
<role rolename="Manager"/>
<user username="Hugo" roles="Manager" password="12345"/>

</tomcat-users>

意涵為有一個角色為Manager,有一個身份為Hugo,其角色為Manager,密碼為12345

其中CatalinaHome的位置可以在netBeans中Server按右鍵選擇Properties查得,如下圖所示:
2.之後在netBeans中打開web.xml,加入如以下標籤內容:
<display-name>Constraint1</display-name>
<web-resource-name>ServerPages</web-resource-name>
<description>Pages of Server</description>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<description/>
<role-name>Manager</role-name>
</auth-constraint>
</security-constraint>
<auth-method>FORM</auth-method>
<form-login-config>                                                                           
<form-login-page>/loginPage.jsp</form-login-page>
<form-error-page>/errorPage.jsp</form-error-page>
</form-login-config>
</login-config>
<description>Manager of server</description>
<role-name>Manager</role-name>
</security-role>

意涵為url為 /* 的資源訪問及其所有方法(如Get、Post等)都會被限制存取,能存取的角色為Manager,登入畫面採用表單(Form)驗證方式,其url為/loginPage.jsp,驗證錯誤之頁面為/errorPage.jsp

沒有留言 :

張貼留言