mli*_*rde 5 .net c# asp.net authentication
我已经编程了很长时间了,但我不是世界上最有经验的.Net开发人员.我最近选择了一个为他们的网站使用Forms身份验证的项目.我首先看了.Net 1.1中的表单身份验证,当时它有一些限制,这使我决定不将它用作我的主要身份验证形式.
此项目要求用户具有角色(我理解表单身份验证支持)和组成员身份.例如,"用户A"是"公司A"的"管理员".表单身份验证现在是否支持这种用户结构?
我还读过表单身份验证以纯文本形式发送密码.此客户端不使用SSL.这是真的?
当前代码库使用表单身份验证,但不支持组(它支持角色).因此,我需要修改表单身份验证以支持所需的组或删除表单身份验证并使用我通常使用的身份验证框架.如果表单身份验证确实支持组并且足够安全,那么我应该坚持这一点.如果表单身份验证存在安全问题或不支持组,那么我需要删除该形式的身份验证.
我在互联网上搜索了一篇有利有弊的文章,但没有运气.你们有什么感想?
为了满足您的要求,您将使用窗体身份验证与会员.如果您的应用程序使用的是SQL Server数据库,则可以使用 SQLMembershipProvider作为成员资格提供程序来实现此目的.
检查ASP.NET 2.0的成员资格,角色和配置文件可以是一个很好的开始参考.
关于在连接不安全时将密码作为纯文本发送的问题.
实际上,发送的密码通常是经过哈希处理的(算法将取决于所选的成员资格提供程序),并且最终存储的密码也是如此.当然,如果连接不安全,可以检索散列密码并用于破解应用程序,但至少可以消除普通用户密码被盗和用于访问其他服务的可能性(正如您所知,许多人使用相同的服务)跨多个服务的密码).所以为了安全起见,你真的需要在这里使用https.
作为一个警告,我远不是该领域的专家,但最近我遇到了一个类似的问题,你正在描述,所以我可能会发现其中一些有用.