在实践中,我看到了三种解决方案:
- 使用内置的ASP.NET Membership系统(NerdDinner) - 自己编写(Shrinkr) - 为ASP.NET Membership创建抽象层(Tekpub's mvcstarter kit)
我已经阅读了许多人的想法,并且很多人认为自己编写“用户系统”可能会更加危险,如果您没有注意安全细节。另一方面,该解决方案要简单得多。所有内容都可能存储在一个数据库中,并且用户特定的信息存储在一个用户表中。这种解决方案的开销似乎相当低。
使用ASP.NET成员资格解决方案可以使用许多开箱即用的功能,但在我看来,它真的很令人困惑。您可能需要将成员资格内容存储在自己的数据库中,并以某种方式能够将用户实体从您网站特定的数据库链接到ASP.NET上。
如果您正在使用ASP.NET成员资格:
- 您的数据库模式是什么样子的?如何创建与ASP.NET成员资格用户的外键关系(例如 Songs <=> FavoriteSongs (<=> SiteUsers) <=> aspnet_Users)? - 为什么不自己开发?
如果您已经自己开发了:
- 您使用了什么类型的用户系统抽象层(如果有的话)? - 为什么没有使用ASP.NET成员资格?
我真的被分析这些可能性所麻痹了。请从成员资格麻烦的粘性网络中给我指点方向!谢谢。