从Membership 到 .NET4.5 之 ASP1
Membership 到 .NET 4.5 之 ASP.NET Identity ASP.NET Membership 是 Microsoft 在 .NET Framework 2.0 时代推出的一个身份验证和授权框架,它提供了一个基本的用户管理机制。然而,在实际应用中,我们发现 Membership 只提供了基本的注册、登录功能,但却遗漏了一个非常重要的问题,即用户信息是如何存在数据库中的。 在前两篇文章中,我们已经讨论了如何在一个网站中集成最基本的 Membership 功能,然后深入学习了 Membership 的架构设计。今天,我们将以用户信息为主线,从 SqlMembershipProvider 出发,到 ASP.NET Simple Membership 最后再到 .NET 4.5 中引入的 ASP.NET Identity,看看微软是如何一步一步地改造这套框架的。 我们来看一下 SqlMembershipProvider 是如何保存用户信息的。ASP.NET 2.0 时代,我们需要借助一个 VS 提供的一个工具来帮助我们生成所需要的表。打开 VS 开发者命令行工具,输入 aspnet_regsql,后面简单地连接一下数据库就会帮我们生成以下的几张表: 这些表的结构可以说明很多问题,用户信息的一些基本字段比如用户名、密码以及一些其他登录的信息存储在哪里,角色存储在哪里,角色和用户之间是如何关联的等等。 然而,用户信息字段如何扩展呢? ProfileProvider 来扩展用户信息我们上面讲到有一张表 aspnet_Profile 是专门用来给 ProfileProvider 为扩展用户信息的。它和 MembershipProvider, RoleProvider 一起组成了用户信息、权限管理这样一套完整的框架。 ProfileProvider 可以让我们扩展用户信息,例如,我们可以添加一个 Model 继承 ProfileBase 来为我们新的用户对象建模。在 web.config 配置 ProfileProvider,我们可以在 MVC 站点中实现对我们的用户信息的管理。 我们的 UserProfile 的所有字段都要从基类中获取,基类中以 object 类型存储着这些值。web.config 的配置大家可以看到 profile 里面的 inherits 结点我们设置了我们上一步建立的那个对象,这样我们就可以在代码将 MVC 里面的 Profile 对象转换成我们要的这些类型。 从 Profile 对象中获取当前登录用户的信息,我们可以使用 GetUserProfile 方法来获取当前登录用户的信息。 Membership 到 .NET 4.5 之 ASP.NET Identity 这一系列文章,我们主要介绍了 Membership 的架构设计,SqlMembershipProvider 是如何保存用户信息的,ProfileProvider 是如何扩展用户信息的,以及 ASP.NET Identity 是如何一步一步地改造这套框架的。
剩余11页未读,继续阅读
- 粉丝: 28
- 资源: 300
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 柯尼卡美能达Bizhub C266打印机驱动下载
- java游戏之我当皇帝那些年.zip开发资料
- 基于Matlab的汉明码(Hamming Code)纠错传输以及交织编码(Interleaved coding)仿真.zip
- 中国省级新质生产力发展指数数据(任宇新版本)2010-2023年.txt
- 基于Matlab的2Q-FSK移频键控通信系统仿真.zip
- 使用C++实现的常见算法
- travel-web-springboot【程序员VIP专用】.zip
- 基于Matlab, ConvergeCase中部分2D结果文件输出至EXCEL中 能力有限,代码和功能极其简陋.zip
- java桌面小程序,主要为游戏.zip学习资源
- Java桌面-坦克大战小游戏.zip程序资源
评论0