JavaWeb应用中的身份验证(声明式)——BASIC和DIGEST身份验证

来源:互联网 发布:学英语的网络课程 编辑:程序博客网 时间:2024/06/01 23:57

在HTTP协议通信的过程中,HTTP协议定义了基本的认证过程以允许HTTP服务器对web浏览器进行身份验证。基本过程如下:

(1)当一个浏览器对服务器进行HTTP服务请求时,如果客户端未被认证,则服务器端将通过基本的认证过程对客户端的用户名及密码进行验证,以决定用户是否合法。此时,服务器端会发送一个WWW-Authenticate的Cookies,以及401的验证请求

(2)符合HTTP规范的客户端在接收HTTP请求后,就会自动弹出一个登陆窗口


(3)用户输入用户名和密码后,将用户名及密码(中间以“:”隔开)以BASE64(或者以DIGEST)加密方式加密,并将密文放入前一条请求信息中,从而完成验证



Tomcat配置实现如下:

(1)设置用户名、密码和角色,步骤同 http://blog.csdn.net/u014494705/article/details/50448696

(2)告诉服务器目前正在使用BASIC验证,指定域的名称

(3)指定需要密码保护的url,使用security-constraint 步骤同 http://blog.csdn.net/u014494705/article/details/50448696

(4)列出所有可能的抽象角色 步骤同 http://blog.csdn.net/u014494705/article/details/50448696


由于,除了步骤2与http://blog.csdn.net/u014494705/article/details/50448696 不同,这里直接给出web.xml的配置

<span style="white-space:pre"></span><security-role><role-name>admin</role-name></security-role><security-constraint><web-resource-collection><web-resource-name>admin page</web-resource-name><url-pattern>/admin/*</url-pattern></web-resource-collection><auth-constraint><role-name>admin</role-name></auth-constraint></security-constraint><login-config><auth-method>BASIC</auth-method> <!--<span style="font-family: Arial;"><auth-method>DIGEST</auth-method></span>--><realm-name>Password required</realm-name></login-config>






0 0
原创粉丝点击