Asp.net mvc 4 如何将自己的数据库与SimpleMembership和WebSecurity结合使用?MVC4安全性是关于什么的?
我已经阅读了所有关于这个主题的文章,包括MSDN的文章和帖子,但我仍然非常迷茫和困惑 问题 请回答以下问题(如果可能,请简短回答):Asp.net mvc 4 如何将自己的数据库与SimpleMembership和WebSecurity结合使用?MVC4安全性是关于什么的?,asp.net-mvc-4,asp.net-membership,forms-authentication,membership-provider,simplemembership,Asp.net Mvc 4,Asp.net Membership,Forms Authentication,Membership Provider,Simplemembership,我已经阅读了所有关于这个主题的文章,包括MSDN的文章和帖子,但我仍然非常迷茫和困惑 问题 请回答以下问题(如果可能,请简短回答): 什么是SimpleMembership/SimpleMembershipProvider(WebMatrix.WebData)以及他们负责什么 什么是网络安全性(WebMatrix.WebData) 什么是会员资格(System.Web.Security)类 为什么MVC4要创建一个用户档案表和一个网页(U成员表)?它们是干什么用的,有什么区别?MVC4创建
成员身份
和一起工作。仍然可以通过单独访问角色
3.什么是会员资格(System.Web.Security)类
是来自原始ASP.NET成员身份实现的静态类,用于管理用户设置和操作。许多用户操作仍然在这里完成,而不是在WebSecurity
中重复。它们都使用您选择的同一提供商
4.为什么MVC4创建UserProfile表和webpages\U成员表?它们是干什么用的,有什么区别?MVC4创建的UserProfile类是什么
这两个表执行不同的功能。webpages\u Membership
模式由框架控制并用于凭证,UserProfile
模式由我们控制并用于我们要针对用户存储的任何属性
5.什么是UsersContext类
它是MVC Internet应用程序模板提供的一个(部分)起点。它唯一的任务是包含UserProfile
类,以便我们可以使用它(例如,通过InitializeSimpleMembershipAttribute
)
6.所有这些如何协同工作以进行用户身份验证
从上面的总结和下面的细节可以看出这一点。使用:WebSecurity
用于常见任务UserProfile
用于针对用户存储自定义属性,可通过UsersContext
访问(在Visual Studio“MVC Internet应用程序”模板中)<当WebSecurity
或OAuthWebSecurity
没有该方法时,code>Membership;以及角色的角色
。使用VS模板的控制器查看使用示例
编辑。万一有人走到这一步
假设我有一个现有的数据库
如果您有一个现有数据库,并且编写自定义成员资格提供程序的唯一原因是处理遗留密码存储方法,那么您可以使用一种变通方法。只有当您可以从旧密码存储转移到SimpleMembership算法(使用该类)时,这才有效。详情见脚注
如果你不能离开,那么是的,你必须创建自己的提供者来使用你的特定密码算法,你可以这样做
注意:SimpleMembershipProvider
将提供。如果您不知道两者之间的区别及其重要性,请在使用自定义安全性创建自己的提供商之前三思而后行
细节 1.什么是SimpleMembership/SimpleMembershipProvider 要了解这一切是如何结合在一起的,就要了解历史
- 2005年的ASP.NET
- 该系统使用提供者从用于管理帐户和角色等的公共接口中抽象出实现细节
- 它还为我们提供了一个基本的“用户配置文件”功能(存储在单列xml字段中,因此人们倾向于避免使用该字段)
- SimpleMembership于2010年发布,作为一个插件到ASP.NET成员资格系统的提供商,它还允许OAuth身份验证和每列用户配置文件属性存储(而不是原始实现中使用的单列存储)
- 实现以扩展原始提供程序实现