1

我似乎能够通过谷歌在 ASP.NET MVC 上找到的每个教程都是针对 MVC 3 的,它不会告诉你如何实际完成所有这些工作,它会告诉你从基本的互联网站点模板中抓取文件.

我有两个问题...

A)我正在使用 ASP.Net MVC 4,文件不同...... B)我想知道如何实际做到这一点,复制和粘贴不会教我任何东西。

所以,我真的很想知道如何将此功能添加到以前的空模板中。如果有帮助,我在项目中有 Razor?

提前致谢。

4

3 回答 3

4

复制和粘贴不会教我什么

虽然这是真的,但在调试器中运行复制/粘贴的代码应该会教给你很多东西。

这是一篇非常好的文章:http ://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5 -web-forms-and-asp-net-mvc-4-templates.aspx

在 MVC4 及更高版本中,ASP.NET 默认使用较新的 SimpleMembershipProvider。因此,就谷歌搜索而言,这可能是您最好的选择。旧的 SqlMembershipProvider 非常好,但仅适用于 SQL Server。回到 MVC3,他们引入了 DefaultMembershipProvider,又名“通用提供者”。这些使用与旧提供程序非常相似的模式,但摆脱了所有存储过程和视图,以便您可以将它们与其他数据库一起使用(我相信实体框架支持的任何数据库)。SimpleMembershipProvider 是一种将身份验证和授权与可能的第 3 方身份提供者集成的新方法。

也就是说,您可以将这 3 个提供程序中的任何一个用于 MVC4 项目。MVC4 并没有将您归入特定的身份验证提供程序选择。但 SimpleMembership 似乎是未来的潮流,至少在事情再次发生变化之前......

更新

事情确实再次发生了变化。在 MVC5 中,现在有一个名为Microsoft.AspNet.Identity.

于 2012-11-17T17:52:48.623 回答
1

事情就是这样。大约有 200000000000 种不同的方法可以做到这一点,您必须了解身份验证如何在幕后工作才能决定使用哪种方法。

最好的方法是简单地使用默认模板代码,然后反转它的工作方式。换句话说,在你学会冲刺 100 米之前先学会爬行。

Mac 4 使事情变得复杂,因为它使用了简化的会员系统。为什么简单更复杂?因为它非常不同,同时仍试图与旧方式兼容。

所以使用默认的 Internet 模板并研究它是如何工作的。这是最好的方法。

于 2012-11-17T18:01:43.500 回答
0

看来您将身份验证与授权混淆了。您使用身份验证来验证请求者。您使用授权来拒绝或允许请求者使用资源。

自 .Net 2.0 以来,表单身份验证没有改变。进行身份验证的成员提供者有。 danludwig 的回答几乎总结了新的提供者模型(回答你的问题A),但使用它们(大部分)仍然是一样的。

使用AuthorziationAttribute的 MVC 授权也没有因拒绝或允许访问 MVC 中的资源而改变。

至于您的问题B,您要么已经知道如何使用表单身份验证,要么您不知道。如果您不这样做,我建议您从演练开始:在 ASP.NET MVC 中使用表单身份验证

于 2012-11-17T18:36:25.443 回答