我一直远离asp.net会员,因为它看起来很臃肿,而且(当时)不可测试。特别是在asp.net MVC的情况下,是否有人使用替代解决方案为用户分配角色,并为登录用户存储一些附加信息?有什么建议?只是实现你需要的功能,这是不是很疯狂?
答案 0 :(得分:3)
ASP.NET成员资格使用提供程序模型进行存储。 SqlMembershipProvider从抽象MembershipProvider类继承加密/散列密码功能。但是,您也可以从MembershipProvider继承,并在需要时在自定义提供程序中获取该功能。
如果您使用SqlMembershipProvider,您将获得一个完全正常工作的成员资格数据库,其中包含完整的密码管理(检查,更改,重置,无效密码尝试)和用户管理(CRUD操作,锁定用户)。
所有这些都是API级别。您可以根据API创建所需的任何UI。
使用SqlMembershipProvider不要求您使用角色提供程序或配置文件提供程序或任何其他内容,并且您可以在不影响成员资格的情况下自行完成这些操作。至少我建议使用经过充分测试的SqlMembershipProvider作为基本内容的安全核心。
答案 1 :(得分:0)
我已成功实施DotNetOpenAuth作为会员和角色提供者。它不是一个完整的实现,但处理大多数常见的场景。
他们提供VS模板以帮助您入门。