Tomcat配置访问控制
1.修改tomcat目录下面的conf文件夹下的tomcat-users.xml配置文件
<role rolename="role"/>
<user name="username" password="password" roles="role"/>
注意:
上面的两行配置要配置在<tomcat-users>标签内
name和password自定义
Rolename和roles的值保持一致
2.配置自己项目中WEB-INF文件夹下的web.xml文件
<security-constraint>
<web-resource-collection>
<web-resource-name>Entire Application</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>role</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>TEST ACCESS CONTROL</realm-name>
</login-config>
注意:
以上内容要配置在<web-app>标签中
<role-name>标签中的值要与你第一步中的rolename一致,务必一致,否则无效,我这里都是role,是一致的
3.要保证你的tomcat的conf文件夹下的server.xml有以下内容(默认是有的,如果你没有修改过server.xml请忽略,否则请加上)
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
以上内容在<server>标签下
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
以上内容在Engine标签下,与Host标签平级
4.重启tomcat
需要授权才能访问,配置完成!