Tomcat 设置登录验证
如果项目较小,设置简单的登录验证,可以通过tomcat设置登录功能,做到简单的项目拦截。
添加登录验证后,访问项目的tomcat拦截的弹框如下:
这里是将我的项目放到了tomcat/webapps/ROOT下了,这是tomcat访问默认路径,不需要加项目名,即可访问。
配置的步骤如下:
1.首先在tomcat/conf/tomcat-users.xml文件中,打开后找到如下内容:
2.登录的账号密码即配置在这里,默认是注释状态,复制出来一个,设置一个用户名和密码都为admin的账户,如下配置:
注意一定要配一个角色,这个我试过,如果不配置<role rolename="tomcat"/>
就会出错,其中rolename对应的名字是随便起的,但是必须要在它下边的user标签中,roles属性里含有它才可以。
3.然后到项目的位置,找到WEB-INF/web.xml文件,我将我项目放到了tomcat/webapps/ROOT里,结构如下:
4.打开这个web.xml文件,配置前页面如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!--欢迎页面-->
<welcome-file-list>
<welcome-file>views/index.jsp</welcome-file>
</welcome-file-list>
</web-app>
添加配置后如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!--欢迎页面-->
<welcome-file-list>
<welcome-file>views/index.jsp</welcome-file>
</welcome-file-list>
<!--以下为登录配置-->
<security-constraint>
<web-resource-collection>
<display-name>Example Security Constraint</display-name>
<web-resource-name>My Test</web-resource-name>
<!--如果仅对项目中某些内容添加登录拦截,则这里具体配置到
内容的目录下,如果对所有的进行拦截,则直接写*-->
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<!--这里是前边tomcat-users.xml里配置的角色名,如果多个,
则配置多个role-name标签即可-->
<role-name>tomcat</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<!--tomcat登录拦截有两种,一种BASIC,另一种为FORM,本文里最上边的那种弹窗即是BASIC-->
<auth-method>BASIC</auth-method>
<realm-name>My Test</realm-name>
</login-config>
</web-app>