本文基于Tomcat文件文件中的角色和用户配置BASIC认证,是最简单的BASIC认证实现方案。
1. 在<tomcat_home>/conf目录下的tomcat-users.xml文件中添加如下内容
<role rolename="basicrole"/> <user username="basicuser" password="password" roles="basicrole"/>
2. 在<TOMCAT_HOME>/conf/server.xml的<Engine>节点中添加MemoryRealm安全域,关于Realm的详细解释可参考这里。
<Realm className="org.apache.catalina.realm.MemoryRealm" />
3. 配置web.xml的web-app节点下添加如下内容,将Web Project Name替换为自己的工程名称即可。
<security-constraint> <web-resource-collection> <web-resource-name>Web Project Name</web-resource-name> <!--匹配所有请求--> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <!-- 只允许basicrole角色的用户访问 --> <role-name>basicrole</role-name> </auth-constraint> </security-constraint> <login-config> <!--值可以是BASIC/DIGEST/CLIENT_CERT/FORM--> <auth-method>BASIC</auth-method> <!--认证提示信息--> <realm-name>favccxx basic realm</realm-name> </login-config> <security-role> <role-name>basicrole</role-name> </security-role>
4. 在浏览器中访问你的web工程,弹出如下所示的登录对话框,说明BASIC认证配置成功。
时间: 2024-10-16 17:59:03