【发布时间】:2010-08-23 14:53:51
【问题描述】:
我想用需要输入的密码来保护 jsp 页面。
在 apache 中,我可以将密码文件添加到 .htaccess,但我不知道如何在 apache tomcat 中执行此操作。
谢谢
【问题讨论】:
标签: jsp tomcat password-protection
我想用需要输入的密码来保护 jsp 页面。
在 apache 中,我可以将密码文件添加到 .htaccess,但我不知道如何在 apache tomcat 中执行此操作。
谢谢
【问题讨论】:
标签: jsp tomcat password-protection
那么,您基本上是想将 HTTP BASIC 身份验证放在特定的 JSP 页面上吗?这是一步一步的:
首先您需要在/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登录。
【讨论】:
jsp文件中;它不去那里。我把它放在项目的web.xml 文件中。我不确定它是否也可以进入 tomcat web.xml 文件。
完整信息在这里Apache Tomcat 6 Realm Configuration HOWTO。
最简单的方法是使用MemoryRealm 在 tomcat-users.xml 中定义用户(名称、密码和角色),并在应用程序 web.xml 中定义要保护的资源。
【讨论】: