c# - MVC 4 中的自定义成员提供程序

标签 c# asp.net asp.net-mvc asp.net-mvc-4

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

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

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

要确定规则,是一件相当简单的事情。我有两张 table ,分别是学生和老师。每个都有自己的 Id 和登录 Id,以及公共(public)属性密码。

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 中实现这个功能吗?

最佳答案

NOTE: Below may not be applicable for .NET Core or ASP.NET Core

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

请阅读 Jon Galloway 的 blog post关于发生了什么变化。

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

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

这是一个帮助您入门的教程。 [ Link ].. 请注意教程解释了旧的成员(member)系统,而不是新的 SimpleMembership/WebSecurity 方法。

更新

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

OWIN 是 .NET 的一组接口(interface),它们是开放的和可插入的,其中包括身份验证。请引用这篇文章[ Link ] 关于如何使用 MVC 5 OWIN 表单例份验证。

关于c# - MVC 4 中的自定义成员提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14063705/

相关文章:

c# - ASP.NET MVC DB 首先创建动态 dbcontext

c# - 当用户在 richtextbox 中输入时,我可以使用 WPF 进行自动单词替换吗

asp.net - 切换到 {controller}/{id}/{action} 会中断 RedirectToAction

asp.net-mvc - 需要使用 Web 应用程序和 Web API 进行双重身份验证吗?

c# - 无法加载 .ps1,因为在此系统上禁用了脚本的执行

asp.net - 表单例份验证 web.config 设置

c# - HttpResponseMessage 没有响应

c# - 使用 C# 在文本中插入制表符

c# - 通过P/Invoke防止应用程序调用库发生graceless crash

c# - c# 应用程序和 minifilter 驱动程序之间的通信