0

我不想学习如何为 asp mvc 进行完全自定义的身份验证/授权。
如此简单的操作:注册/登录/注销/记住我
我不想再使用 asp 会员资格,但我在网上找不到任何关于如何制作这个的从头到尾的教程。
我有点困惑。如果我定制所有东西,我还需要使用SetAuthCookie()等等。
所以我不想定制MembershipProvider,而是做我自己的授权/身份验证。
我正在寻找的只是一些完整的资源(如果存在)?
我真的需要关于这个主题的帮助,所以我很感激任何帮助。

4

3 回答 3

4

你不想这样做。

开发自己的成员资格课程的问题在于,99.999% 的时间您都不具备创建安全、可靠、健壮和可靠框架的安全知识。(另外 0.001% 的时间你是专家,被第三方雇用来做这件事。)

我知道 MembershipProvider 笨重、臃肿而且不像它应该的那样灵活。但它非常安全,比你能写的任何东西都要安全得多。不值得冒险……在开发自己的网站时,您可能会失去对网站、数据以及最重要的是客户数据的控制权。

坚持下去。否则你会后悔的。

于 2013-02-18T20:29:07.400 回答
1

我有同样的想法,如果你不是 100% 确定,@levibotelho 是不安全的。另一方面,您可以在http://nugetmusthaves.com/Category/Security中找到许多项目, 例如:http ://altairiswebsecurity.codeplex.com/、https : //github.com/kristofferahl/FluentSecurity等等。 .

可能是这个:https ://github.com/OdeToCode/Memflex brgds!。

更新:@1110 如果您想直接访问表格,我建议您使用 simplemembership 而不是旧的会员资格提供程序。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。如果您需要在配置文件中使用客户字段而不是 blob 等等...

于 2013-02-18T20:40:58.113 回答
1

首先,关于 ASP.NET 成员资格和表单身份验证的速成课程。

直接来自提供商 ( Microsoft ):

“ASP.NET 成员身份为您提供了一种内置方式来验证和存储用户凭据。因此,ASP.NET 成员身份可以帮助您管理网站中的用户身份验证。您可以使用 ASP.NET 成员身份与 ASP.NET 表单身份验证一起使用ASP.NET 登录控件,以创建一个完整的用户身份验证系统。”

请注意,您“可以将 ASP.NET 成员资格与 ASP.NET 表单身份验证一起使用”。它们是不同的元素。身份验证部分是你不想搞砸的,这是我认为 LeviBotelho (正确地)紧张的部分。但是您也可以在没有会员资格的情况下正确使用表单身份验证!

正如Scott Mitchell 指出的那样,在 ASP.NET 2.0 之前,我们甚至没有 Membership. 他自己在 4guysfromrolla 上发表的文章(现在已经很老了)提供了一个基于角色的授权示例,结合了表单身份验证而不使用Membership. 这没有任何内在的不安全或风险。

但是,如果您正在冒险摆脱Membership模式/框架,那么接下来最重要的事情就是密码安全性。您的第一个诱惑可能是将用户密码以纯文本形式存储在数据库中。不。Troy Hunt 撰写了有关 Internet 安全的精彩文章,并且比我更好地解释了密码安全的来龙去脉。这篇文章比您可能感兴趣的要详细得多(它主要是关于创建密码重置功能),但是密码存储的起点非常有效。

关于“我正在寻找的只是一些完整的资源(如果存在)?” . 你可能不会找到这样的文章。这是一个非常广泛的主题,充其量您会发现每篇文章都提供一些帮助您开发自己的解决方案的文章。

于 2013-02-18T21:15:13.640 回答