我想用一个需要输入的密码来保护jsp页面。
在apache中,我可以为.htaccess添加密码文件,但我不知道如何在apache tomcat中执行此操作。
感谢
答案 0 :(得分:9)
那么,您基本上想要在特定的JSP页面上放置HTTP BASIC身份验证吗?这是一步一步:
首先,您需要在/conf/tomcat-users.xml
中声明所需的角色名称,用户名和密码。
<tomcat-users>
<role rolename="yourrole"/>
<user username="yourname" password="yourpass" roles="yourrole" />
</tomcat-users>
(您可以根据需要添加任意数量的<role>
和<user>
条目;如果已有条目,则只需将其添加到<tomcat-users>
)中。
然后,您需要在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页面并使用yourname
和yourpass
登录。
答案 1 :(得分:2)
完整信息在Apache Tomcat 6 Realm Configuration HOWTO。
最简单的方法是使用MemoryRealm在tomcat-users.xml中定义用户(名称,密码和角色),并在应用程序web.xml中定义要保护的资源。