ASP.NET MVC --- 身份认证与授权

本文介绍了ASP.NET MVC中的身份认证与授权机制。从基于Session保存用户状态及其不足开始,接着详细讨论了Forms验证,包括FormsAuthentication类的使用和实现Forms验证的方法。文章还阐述了Authorize特性的应用,如何实现基本及高级授权,以及用户注销的操作。总结了Authorize特性和User对象在授权中的角色,并探讨了更复杂的授权策略。
摘要由CSDN通过智能技术生成

身份认证的含义:例如在现在浏览的某宝电商网站中会经常遇到的情况,想要将某件商品加入到购物车,点击“加入购物车”之后弹出的却是登录界面。这个就是所谓的请求的身份认证

身份认证与Session

基于Session保存用户状态

  1. 基于Session保存用户状态和信息,比如:用户登录信息,相当于授权

  2. 在访问具体页面时,如果检测到没有登录,则禁止用户某些动作

不足之处

  1. Session具有生命周期,超过规定时间,用户就必须要重新登录

  2. Session有各种丢失的可能,例如服务器重启,内存回收等,这样会影响用户的体验

ASP.NET身份验证

验证方式 说明
Windows 使用windows操作系统和NTFS文件系统验证,适合公司内部站点使用,不适合大众商业站点
Forms 利用网页向客户端发送凭证,客户端再把凭证提交给应用程序进行身份认证(使用最普遍)
Passport 一种单点登录标准(微软提供,使用需要付费,国内采用的较少)
Federated 一种单点登录标准(谷歌提供,一种联合身份验证标准)

Forms验证

  1. 在实际开发中应用最普遍

  2. 最初由亚马逊网站开发使用,在内部使用Cookie来维护页面之间的状态

  3. 在ASP.NET MVC中提供了一个FormsAuthentication类专门用于身份认证服务

  4. FormsAuthentication类的一个功能就是写入一个标识用户身份的Cookie

FormsAuthentication类

属性或方法 说明
string LoginUrl 用户访问且验证不通过时,重定向到的登录页面的URL
TimeSpan TimeOut 获取身份验证票证的到期前的时间量
void Set
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值