jsp:如何用密码保护jsp页面?

时间:2010-08-23 14:53:51

标签: jsp tomcat password-protection

我想用一个需要输入的密码来保护jsp页面。

在apache中,我可以为.htaccess添加密码文件,但我不知道如何在apache tomcat中执行此操作。

感谢

2 个答案:

答案 0 :(得分: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>)中。

    < / LI>
  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中定义的角色名相同。

  3. 重启服务器,在浏览器中打开JSP页面并使用yournameyourpass登录。

答案 1 :(得分:2)

完整信息在Apache Tomcat 6 Realm Configuration HOWTO

最简单的方法是使用MemoryRealm在tomcat-users.xml中定义用户(名称,密码和角色),并在应用程序web.xml中定义要保护的资源。