我需要一些建议。我目前正在使用MVC 4&使用LDAP的SimpleMemberhip对用户进行身份验证。问题是,我不想将他们的用户名和密码存储在 webpages_Membership表出于安全考虑。第二个问题是我想提供用户可编辑的配置文件。
到目前为止,这是有效的:
我目前正在使用SimpleMembership覆盖 ValidateUser 方法。一切正常,但我不需要存储LDAP用户名&密码。可以这样做吗?
P.S。我知道有更好的方法来创建新用户和配置文件除了第一次登录,但我还在努力。
答案 0 :(得分:1)
如果你不想存储密码(SimpleMembership默认会这样做),你最好从ExtendedMembershipProvider
(或者从SimpleMembership
派生你自己的自定义提供者,但那样做得到复杂的)并编写LDAP实现,或使用one of the ones on NuGet。有no built-in LDAP support in SimpleMembership
,所以你做的任何一种方法都是一个讨厌的黑客,以后可能会咬你。
对于UserProfile,听起来您的要求与通常的UserProfile用例不同 - 在UserProfile模型上创建自定义属性,相应地更新数据库,并构建UI以允许用户编辑任何一个他们应该能够直接编辑这些属性。
(编辑)
<强>脚注即可。在我对"How do I use my own database with SimpleMembership and WebSecurity? What is MVC4 security all about?"的回答中,我检查了成员资格的历史,ExtendedMembershipProvider
如何适应这一点,以及WebSecurity
等新类如何在提供者的基础上工作, ExtendedMembershipProvider
(例如SimpleMembershipProvider
)。对于任何想要派遣自己的提供者与WebSecurity
一起使用的人来说,这个答案值得一读。
答案 1 :(得分:0)
我设法通过使用Code First创建所需的表来绕过在成员资格提供程序中存储用户详细信息。我现在能够创建新用户并将它们存储在UserProfile表中。