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