我一直在尝试编写一个开源配置文件提供程序来对抗PostgreSQL(我对我见过的其他项目的局限性和不完整性感到沮丧),但文档和人们如何使用它的示例出乎意料地稀疏。即使asp.net-profiles
的SO标记也只有100多个问题。
我越是努力使其发挥作用,它似乎越来越不实用;增值似乎并不能证明相关的并发症;此外,它似乎只在有限范围的Web项目上工作而没有一堆额外的工作。
我觉得我得出的结论是,它不是一种流行的技术,并且有更好的方法可以保持更强大的基于用户的信息集。
我对此的看法存在根本缺陷吗?这是广泛使用的吗?我正在放弃我的个人资料提供者,因为它似乎没什么价值。
答案 0 :(得分:3)
我总是避开ASP .NET成员资格提供程序,转而使用IPrincipal
的自定义实现,原因很简单。我几乎从不需要它提供的开箱即用的功能。
任何自定义实现都意味着创建自己的MembershipProvider
实现。在我从未实现的其他方法中,它包括RequiresQuestionAndAnswer
和MaxInvalidPasswordAttempts
等奇迹。它会强制您实施一个您可能不需要的实施,并将花费您更多时间来正确完成。
当然,你可以作弊并将NotImplementedException
放在你并不特别烦恼的方法中,但是在生产系统中,那些心胸正直的编码员会对此感到满意吗? :d
我非常喜欢微软的很多东西,但我的经验是他们的很多“开箱即用”的解决方案在香草模式下都很好,但是当你旅行时,车轮往往会脱落路径。因此需要采摘一些樱桃。我的建议?把这个放在葡萄藤上。
答案 1 :(得分:1)
不,asp.net中的Profile系统没有被广泛使用,主要是因为你提到的原因。这对很多人来说都没用。
最简单的解决方案是在您的应用中创建个人资料表,然后在会员系统的ProviderUserkey上键入。