2010-08-23 100 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