一、步骤
- 设置用户名、密码和角色
- 告诉服务器目前正在使用BASIC验证。指定域的名称
- 指定要保护的URL
- 列出可以访问的角色
- 指定哪些URL只能通过SSL访问
- 禁用invoker servlet
二、实例
- 将D:\Test\Servers\Tomcat v6.0 Server at localhost-config/tomcat-users.xml文件当中的
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user password="tomcat" roles="tomcat" username="tomcat"/>
<user password="tomcat" roles="tomcat,role1" username="both"/>
<user password="tomcat" roles="role1" username="role1"/>
</tomcat-users>注释去掉,这样我们就有了tomcat和role1这两个角色,同时三个用户。 - 在web.xml文件当中加入如下代码:
我们要保护的资源
<security-constraint>
<web-resource-collection>
<web-resource-name>ssl</web-resource-name>
<url-pattern>/ssl/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>tomcat</role-name>
</auth-constraint>
<!-- <user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint> -->
</security-constraint>
声明能够访问这些资源的角色
<security-role>
<role-name>tomcat</role-name>
</security-role>
告诉服务器使用BASIC验证
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Internet</realm-name>
</login-config> - 在ssl文件夹下建立要访问的页面即可
三、说明
声明式安全是基于服务器的安全,其对于servlet和jsp也完全透明的,servlet和jsp页面无需任何改动。用户登录不成功时返回401