5

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

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

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

确定规则,是一个相当简单的。我有两张表,名为 Student 和 Teachers。每个都有自己的 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 中实现这些功能吗?

4

1 回答 1

13

注意:以下可能不适用于 .NET Core 或 ASP.NET Core

在开始研究之前,请注意 ASP.NET MVC4 中的成员资格和角色管理已更改。(如果您使用 Visual Studio 中的“Internet 应用程序”模板)

请阅读 Jon Galloway 的博客文章,了解发生了什么变化。

NewSimple Membership Provider旨在扩展和克服旧成员和角色管理系统中的问题(仍然支持,因为它是 ASP.NET 的一部分)

两种实现都支持角色管理,您可以自由选择任何一种实现,也可以自己动手。有关于哪个更好的争论,一些开发人员更喜欢自己实现,因为两者都有局限性。(我不会详细说明,因为它可能会产生偏见)

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

更新

就在您认为自己拥有足够的身份验证框架时,Microsoft 宣布了 OWIN - Open Web Interface for .NET

OWIN 是一组用于 .NET 的开放式和可插拔接口,其中包括身份验证。有关如何使用 MVC 5 OWIN 表单身份验证的信息,请参阅这篇文章 [链接]。

于 2012-12-28T03:29:20.557 回答