作者:禅与计算机程序设计艺术
1.简介
一、项目背景及意义
随着互联网技术的不断进步以及企业对信息安全的重视,越来越多的人开始关注Web应用中涉及的信息安全问题。很多网站为了提供更好的用户体验,也开始在一定程度上采用了一些“保护机制”或是“安全措施”,如SSL加密、CSRF防护、表单验证等,但仍然存在着严重的安全漏洞。为了解决这一问题,人们引入了一些解决方案如HTTPS协议、HTTP Strict Transport Security (HSTS)、跨站脚本攻击防护XSS、SQL注入防护等。但是,对于Web应用来说,访问控制仍然是一个重要的问题,如何保证用户只能访问自己应该有的资源、不能访问他人不该访问的资源,仍然是一个难点。于是,基于Web应用的访问控制可以分成两大类,一类是传统的访问控制方式,即通过某种标识进行认证和鉴权,以确定用户是否具有访问权限;另一类是基于角色的访问控制(Role-based Access Control,RBAC),它将用户与其所属角色绑定,并通过角色的权限进行访问控制。基于角色的访问控制已经成为最流行的访问控制模式,特别是在云计算领域,为用户提供各种类型的服务资源。
当今,基于Web应用的访问控制技术主要由四个方面组成:身份认证(Authentication)、授权(Authorization)、会话管理(Session Management)、请求拦截(Request Interception)。其中,身份认证是最基础的环节,即识别出用户身份。当用户向Web应用提交登录请求时,首先需要提供用户名和密码进行身份认证&#