本文基於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認證配置成功。