身份认证的含义:例如在现在浏览的某宝电商网站中会经常遇到的情况,想要将某件商品加入到购物车,点击“加入购物车”之后弹出的却是登录界面。这个就是所谓的请求的身份认证
身份认证与Session
基于Session保存用户状态
-
基于Session保存用户状态和信息,比如:用户登录信息,相当于授权
-
在访问具体页面时,如果检测到没有登录,则禁止用户某些动作
不足之处
-
Session具有生命周期,超过规定时间,用户就必须要重新登录
-
Session有各种丢失的可能,例如服务器重启,内存回收等,这样会影响用户的体验
ASP.NET身份验证
验证方式 | 说明 |
---|---|
Windows | 使用windows操作系统和NTFS文件系统验证,适合公司内部站点使用,不适合大众商业站点 |
Forms | 利用网页向客户端发送凭证,客户端再把凭证提交给应用程序进行身份认证(使用最普遍) |
Passport | 一种单点登录标准(微软提供,使用需要付费,国内采用的较少) |
Federated | 一种单点登录标准(谷歌提供,一种联合身份验证标准) |
Forms验证
-
在实际开发中应用最普遍
-
最初由亚马逊网站开发使用,在内部使用Cookie来维护页面之间的状态
-
在ASP.NET MVC中提供了一个FormsAuthentication类专门用于身份认证服务
-
FormsAuthentication类的一个功能就是写入一个标识用户身份的Cookie
FormsAuthentication类
属性或方法 | 说明 |
---|---|
string LoginUrl | 用户访问且验证不通过时,重定向到的登录页面的URL |
TimeSpan TimeOut | 获取身份验证票证的到期前的时间量 |
void Set |