在ASP.NET中设计身份验证系统?

在ASP.NET中设计身份验证系统?,asp.net,authentication,login,Asp.net,Authentication,Login,好的,我正在为我的网站建立一个登录页面和注册页面。我有两个选择,一个是使用内置的ASP.NET登录控件,另一个是我自己的自定义控件。我在stackoverflow的某个地方读到过,不要构建自己的自定义登录控件,因为你永远都不会正确。我不知道为什么?那么,在构建登录/注册/密码重置页面、系统时,设计注意事项和陷阱是什么?如果我不应该使用自己的自定义,而应该使用内置,那么为什么呢?请享受构建自己登录页面的乐趣。我怀疑您阅读的文章与编写您自己的身份验证/授权框架有关——这可能很棘手。除非你有很好的理由

好的,我正在为我的网站建立一个登录页面和注册页面。我有两个选择,一个是使用内置的ASP.NET登录控件,另一个是我自己的自定义控件。我在stackoverflow的某个地方读到过,不要构建自己的自定义登录控件,因为你永远都不会正确。我不知道为什么?那么,在构建登录/注册/密码重置页面、系统时,设计注意事项和陷阱是什么?如果我不应该使用自己的自定义,而应该使用内置,那么为什么呢?

请享受构建自己登录页面的乐趣。我怀疑您阅读的文章与编写您自己的身份验证/授权框架有关——这可能很棘手。除非你有很好的理由离开内置的asp.net成员系统,比如不喜欢ID的GUID,否则我会坚持使用它,因为它是一个经过尝试和测试的解决方案


在构建您自己的登录/pwd重置页面方面——去做吧——这只是一个表单帖子:只需记住将登录页面设为SSL,否则您的用户将从客户端向服务器发送未加密的密码。

如果您有选择,人们普遍认为最好不要手动实现与安全相关的框架。要正确处理这些问题是非常困难的,而将它们弄错会使您的应用程序容易受到黑客攻击


如果这只是一个登录UI的问题,而不是底层身份验证机制的问题,那么这并不是一个大问题。

我想我已经回答了您关于是否在评论中使用Visual Studio附带的内置登录控件的问题


有关设计和注意事项,请在此处查看和。如果您的身份验证是直接的,请坚持使用内置的会员资格提供商,例如另一个,您不想使用现有会员资格功能的原因是什么?关于这一点,有很多问题,所以,您甚至强调您自己以前读过。一个简单的搜索就可以找到大量与你的问题相关的答案。他们都告诉我不要,但没有给出原因…@Oded我发现建立自己的更容易,也许我错了。你的问题是关于使用自己的会员资格提供商还是建立自己的登录页面而不是使用工具箱中的登录控件?是的,建立自己的登录页面很有趣,这是讽刺吗?。我以前构建过自己的登录页面,使用SSL是显而易见的。但因为我曾经做过一次,所以这次可能会出错,也许我会错过一些重要的事情。我还没有使用asp.net会员系统的经验。无论如何,我会尝试一下。不是讽刺,而是鼓励!我认为使用内置的东西有点无聊和通用。我做了一些很棒的登录页面!另外,通过构建自己的登录/pwd重置,您可以更好地了解会员资格提供商的工作方式,因为您必须自己完成一些工作。