MVC 4中的自定义MembershipProvider

本文关键字:自定义 MembershipProvider MVC | 更新日期: 2023-09-27 17:49:38

我是一个开始了解MVC4。作为第一步,我需要执行一个登录,因为自定义数据库中只有三个角色。

真的有必要实现自定义成员资格提供程序吗?我对此表示质疑,因为我正在阅读这篇文章,而他正在做另一种方式:http://patrickdesjardins.com/blog/asp-net-membership-with-mvc4

我只需要从自定义数据库中获取用户并确定角色。

确定规则,是相当简单的。我有两张桌子,分别叫学生和老师。每个都有自己的Id作为登录Id,以及通用属性密码。

if (db.Students.Where(x => x.StudentId == x && x.Password == y) return "student"
if (db.Teachers.Where(x => x.TeacherId == x && x.Password == y) return "teacher"
// does not exist

你能告诉我如何在ASP.NET中实现这些特性吗?

MVC 4中的自定义MembershipProvider

注意:以下内容可能不适用于。net Core或asp.net Core。网络核心

在你开始你的研究之前,注意会员和角色管理已经在ASP中改变了。净MVC4。(如果你使用的是Visual Studio中的"Internet Application"模板)

请阅读Jon Galloway的博客文章,了解这些变化。

新的Simple Membership Provider被设计用来扩展和克服旧的成员和角色管理系统中的问题(作为ASP.NET的一部分,它仍然被支持)

两种实现都支持角色管理,您可以自由选择其中一种实现,或者自行选择。关于哪个更好存在争议,一些开发人员更喜欢实现自己的,因为两者都有局限性。(我不会详细说明,因为它可能会有偏见)

这里有一个入门教程。[链接]. .请注意,教程解释了旧的会员系统,而不是新的simplemember/WebSecurity方法。

就在你认为你已经有足够的认证框架的时候,微软宣布了OWIN - 为。net开放Web接口

OWIN是一组面向。net的接口,它们是开放的、可插拔的,其中包括身份验证。关于如何使用MVC 5 OWIN表单身份验证,请参阅这篇文章[Link]。