有没有替代或者修改的.NET Membership插件?
我觉得它太过限制性了:
不能轻松更改用户名。你需要创建一个新用户并复制字段,但是这样你就会失去主键,或者你必须自己直接编辑用户表。
额外的个人资料字段作为一个二进制大对象存储在一起。
有没有替代或者修改的.NET Membership插件?
我觉得它太过限制性了:
不能轻松更改用户名。你需要创建一个新用户并复制字段,但是这样你就会失去主键,或者你必须自己直接编辑用户表。
额外的个人资料字段作为一个二进制大对象存储在一起。
ASP.Net成员资格使用提供程序模型。这意味着您完全可以自由地实现自己的成员资格提供程序,甚至可以继承和扩展现有的提供程序,只要您遵循提供程序合同。
赞一个,因为您询问了现有的替代方案,而不是尝试自己构建新的东西。
它灵活的“UserStore”模型(表单提供程序的等效物)使您可以按照自己的方式形成数据库。它可以支持纯文本文件、XML、MongoDB、Sql Server,以及两者之间的任何地方。
以下是我认为它特别优于表单身份验证的列表:
当然,它也有不足之处,为公平起见,我将列举一些缺点
关于更改用户名,可以使用CreateNewUser()方法并根据当前用户填写适当的字段,然后删除当前用户来轻松实现。
配置文件字段不是.NET Membership提供程序模型的一部分,而是Profile Provider的一部分。这是一个备受争议的话题,对于大多数生产机器来说,正确的方法是使用更好的配置文件提供程序解决方案,例如Table Profile Provider,它将配置文件字段存储为您所期望的方式,而不是作为占用内存的大块数据。或者,您可以轻松地自己编写配置文件提供程序,请查看此处的说明。
确实有一些.NET Membership替代方案,但大多数都存在缺陷或功能集较小。在开发两个月后才意识到它无法支持您需要的所有功能,这真的很糟糕。.NET Membership是一种经过验证的解决方案,这就是为什么它经常被使用的原因。
关于个人资料(Profile)的问题,有几种替代方案。这两种方法分别使用表格或让您调用存储过程。当然,您也可以自己实现。我个人厌倦了使用个人资料提供程序,并发现在我的代码中处理个人资料更容易控制和包含。
至于其他问题,您也可以自己实现提供程序。微软发布了SQL提供程序的源代码,因此可以为您提供一个起点。