2010-08-23 103 views

回答

9

所以,你基本上想要在特定的JSP頁面上進行HTTP BASIC驗證?這裏有一個一步一步:

  1. 首先,你需要在/conf/tomcat-users.xml申報所需的角色名,用戶名和密碼。

    <tomcat-users> 
        <role rolename="yourrole"/> 
        <user username="yourname" password="yourpass" roles="yourrole" /> 
    </tomcat-users> 
    

    (可以追加多達<role><user>項,只要你想,如果有已經存在的條目,那麼你只需要添加他們裏面<tomcat-users>)。

  2. 然後,您需要在JSP文件的url-pattern上聲明期望的安全約束以及BASIC(表示HTTP BASIC身份驗證)的登錄配置。

    <security-constraint> 
        <web-resource-collection> 
         <web-resource-name>A JSP page</web-resource-name> 
         <url-pattern>/page.jsp</url-pattern> 
        </web-resource-collection> 
        <auth-constraint> 
         <role-name>yourrole</role-name> 
        </auth-constraint> 
    </security-constraint> 
    <login-config> 
        <auth-method>BASIC</auth-method> 
    </login-config> 
    

    /page.jsp應該匹配JSP頁面的上下文相對URL。 yourrole應該與/conf/tomcat-users.xml中定義的角色名稱相同。

重新啓動服務器,請在瀏覽器中打開的JSP頁面和使用yournameyourpass登錄。

+0

要添加2中列出的安全性約束的文件。 – 2013-04-23 10:48:02

+1

@Will:你想用密碼保護的JSP頁面,就像這個問題一樣:) – BalusC 2013-04-23 10:49:00

+0

很好,謝謝!這是否適用於非JSP頁面? – 2013-04-23 10:50:24