.net会员资格有什么替代\ mods吗?
我发现它非常严格;
无法轻易更改用户名。您必须创建一个新用户并复制字段,但是您丢失了主键,或者您必须自己直接编辑用户表。
其他个人资料字段一起存储为一个blob。
答案 0 :(得分:13)
ASP.Net成员资格使用提供者模型。这意味着只要您遵循provider contract,您就可以完全自由地实施自己的会员提供商,甚至可以继承和扩展现有的提供商。
另外还有一个用于询问现有替代品而非尝试自己构建新东西的方法。
答案 1 :(得分:8)
我会继续在这里列出我的选择。我已经推出了自己的身份验证库,我觉得它很棒,可以公开发布......所以我做到了。它的设计旨在让您不受限制,整体而言,它非常简约。我没有提供很多开箱即用的用户控件,但在大多数网站上我都看到过这些内置的用户控件从未使用过。因此,我没有尝试制作更灵活的用户控件,而是决定让它简单易懂,创建自己的登录控件等。
该项目称为快速,安全和简明身份验证,简称FSCAuth。它是BSD许可的。您可以在Binpress或Bitbucket
下载灵活的“UserStore”模型(Form的等效提供者)使您可以随心所欲地构建数据库。它可以支持纯文本文件,XML,MongoDB,Sql Server以及中间的任何位置。
以下列出了我认为特别优于表单身份验证的内容:
当然它也缺乏,而且公平地说我会包含一些缺乏的东西
答案 2 :(得分:2)
由于ASP.NET成员资格模型是围绕Providers构建的,因此可以使用许多替代方案。
默认情况下,用户拥有一个GUID的ProviderUserKey,这是数据库的主键,因此如果需要,您应该可以编写一些内容来更改其用户名。
就配置文件而言,是的,默认blob非常烦人。您可以查看将个人资料映射到表格的SQL Table Profile Provider,或者相当快roll your own。
答案 3 :(得分:0)
只要更改用户名,就可以使用CreateNewUser()方法轻松完成,并根据当前用户填写相应的字段,然后删除当前用户。
配置文件字段不是.NET成员资格提供程序模型的一部分,而是配置文件提供程序的一部分。这是一个备受争议的话题,对于大多数生产机器而言,正确的方法是投入更好的配置文件提供程序解决方案,例如此Table Profile Provider,它存储您期望的配置文件字段而不是占有记忆力的blob。或者,您可以轻松地滚动自己的个人资料提供者,查看instructions here。
当然有.NET成员资格替代品,但大多数都是错误或具有小功能集。在一两个月的时间内进行开发真的很糟糕,然后意识到它不会支持你需要的所有功能。 .NET Membership是一个经过验证的解决方案,这就是它经常被使用的原因。
答案 4 :(得分:0)
至于个人资料,有几个alternatives out there。这两个使用表或让您调用存储过程。当然你也可以实现自己的。我个人厌倦了使用Profile Providers,发现在我的代码中处理配置文件更容易控制和包含。
至于其他问题,您还可以实施自己的提供商。 Microsoft向SQL Providers发布了源代码,因此它可以为您提供一个起点。