我不想学习如何为asp mvc完全自定义身份验证/授权。
如此简单的操作:注册/登录/注销/记住我。
我不想再使用asp会员资格,但是我找不到任何从网页上的开始到结束教程,以了解如何做到这一点。
我很困惑。如果我做了一切定制,我仍然需要使用SetAuthCookie()
等
所以我不想自定义MembershipProvider
,但作出我自己的授权/认证。
我正在寻找的是一些完整的资源(如果存在)?
我真的需要关于这个话题的帮助,所以我很感激任何帮助。如何在没有asp会员资格的情况下完全自定义身份验证/授权
回答
你不想这样做。
开发自己的会员类的问题是,99.999%的时间你不具备安全知识来构建一个安全,可靠,健壮和可靠的框架。 (另外0.001%的时间你是第三方雇佣的专家做这件事的时间。)
我知道MembershipProvider笨重,臃肿,并不像它应该那样灵活。但它是非常安全的,比你写的任何东西都要安全得多。这是不值得冒险的......在开发你自己的时候,你可能会失去对你的网站,数据和最重要的是你客户的数据的控制权。
坚持下去。否则你会后悔的。
我不同意。虽然重写ASP.NET成员资格的*认证*部分是冒险行为,但除了身份验证外,框架还有很多**。数据层是否真的在任何接近和密码检查通过的机制一样重要的地方提取密码? – Snixtor 2013-02-18 20:43:56
好吧,为什么我想这样做是因为我得到了一些建议,从我的用户表中加入aspnet_Users表是不好的(不知道为什么)。而这个问题也与这个问题有关http://stackoverflow.com/questions/14920327/how-to-join-aspnet-user-to-my-custom-user – 1110 2013-02-18 20:44:24
是否真的不好加入我的自定义用户表aspnet_Users并使它们之间的1:1关系? – 1110 2013-02-18 20:52:21
我有同样的想法,即@levibotelho,如果你不是100%肯定是不安全的。在另一方面,你可以找到许多项目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。同样的事情,如果你需要有客户字段而不是配置文件中的斑点和更多...
首先,ASP.NET成员资格和窗体身份验证的崩溃过程。
直接从供应商( Microsoft):
“ASP.NET成员资格给你一个内置的方法来验证,因此存储用户凭据ASP.NET成员资格帮助你在你的网站管理用户认证。 。通过与ASP.NET登录控件一起使用,可以将ASP.NET成员身份与ASP.NET窗体身份验证一起使用,以创建一个用于身份验证用户的完整系统。“
请注意,您“可以使用ASP.NET身份验证与ASP.NET表单身份验证”。它们是不同的元素。认证部分是你不想惹的事,这是我认为LeviBotelho(正确)紧张的部分。但是,您可以正确使用没有成员身份的表单身份验证!
由于Scott Mitchell points out,在ASP.NET 2.0之前,我们甚至没有有Membership
。他自己的(现在很老了)article over on 4guysfromrolla提供了一个基于角色的授权的例子,结合了Forms Authentication和而不是使用Membership
。没有任何内在的不安全或冒险。
如果你是冒险远离Membership
模式/框架,但是,获得正确的下一个最重要的事情是密码安全。你的第一个诱惑可能是将数据库中的用户密码保存为纯文本。 不要。 Troy Hunt撰写关于互联网安全的优秀文章,并且比我更好地解释密码安全的来龙去脉。 This article会比您可能感兴趣的内容更详细(主要是创建密码重置功能),但密码存储的起点非常有效。
关于“我正在寻找的所有资源都是一些完整的资源(如果存在)?”。你可能不会找到这样的文章。这是一个非常广泛的话题,至多你会发现一些文章,每个文章都提供一点点帮助你开发你自己的解决方案。
- 1. 自定义身份验证未授权
- 2. 身份验证授权ASP/NET MVC 3使用成员身份
- 3. 如何在没有员工身份的情况下在Django中定义权限?
- 4. 在没有任何身份验证的情况下运行SSH
- 5. 身份验证和授权 - 新安全
- 6. Couchdb身份验证/授权
- 7. 身份验证和授权
- 8. GAE上的自定义身份验证和授权
- 9. 身份验证/授权与Cookie,没有ASP.NET身份
- 10. 不能在没有身份验证的情况下创建桶
- 11. MVC4表单身份验证Active Directory自定义授权属性
- 12. WCF自定义身份验证 - HTTP状态401:未授权
- 13. .net活动目录(ldap)身份验证与会员授权
- 14. 如何在Wildfly中提供自定义身份验证/授权管理器
- 15. 春季安全4. JSON REST与自定义身份验证和授权
- 16. 如何在没有任何身份验证的情况下调用WCF服务?
- 17. 如何在没有身份验证的情况下连接到YouTube API?
- 18. 如何在没有身份验证的情况下从直线进行查询
- 19. 如何在没有用户干预的情况下获取身份验证
- 20. WCF消息加密没有身份验证/授权或证书
- 21. 如何为以下情况实现自定义授权属性?
- 22. loopback如何自定义身份验证
- 23. 如何在无身份的asp.net MVC中实现自定义身份验证/授权?
- 24. Twitter的API身份验证VS授权
- 25. ASP.Net/MVC授权Vs的身份验证
- 26. .Net中的身份验证和授权
- 27. Spring Security的授权和身份验证
- 28. 会员和角色身份验证使用自定义表
- 29. Windows身份验证和自定义SQL配置文件/角色成员资格
- 30. 如何设置asp.net mvc身份的自定义身份验证?
你到目前为止尝试过什么?我建议在尝试编写自己的代码之前,先阅读一下asp.net会员API的工作原理。 – levelnis 2013-02-18 20:28:46
但你为什么要重新发明轮子? – Andre 2013-02-18 20:31:48