Dko*_*ong 14 asp.net asp.net-mvc asp.net-membership
我不确定我是否应该与MVC做任何不同,但我很好奇在使用成员资格提供程序时,为ASP.NET用户帐户添加额外信息的建议方法是什么?还有如何将此用途与其他实体相关联.
通常我不打扰配置文件,并且更喜欢向仅引用USERID的表添加额外信息.ASP.NET MVC方法的好/坏/可接受,或者替代方案是什么?
Dan*_*plo 10
这是一个很好的问题,也是我一直在努力的问题.我认为有三种基本方法;
使用配置文件提供程序 - 这样可以轻松添加属性,但很容易执行生成用户表等操作,尤其是在需要应用过滤器/搜索时.API只是没有削减它.
添加新表(或扩展现有表),然后加入此表.然后,您需要编写自己的方法来获取自定义数据.
编写自己的成员资格提供程序,扩展MembershipProvider类.
对于我的上一个项目,我使用了后一种方法 - 我写了一个非常quck的SQL提供程序,它只实现了创建用户,身份验证和更改密码所需的基本要素.对于其他虚拟方法,我只是扔了一个NotImplementedException
.
然后我添加了一个新类,它添加了我需要的额外属性并使其可以通过传入标准来实例化MembershipUser
.像这样的东西:
public static CustomMember GetMember(MembershipUser user)
{
// Get your custom member
}
Run Code Online (Sandbox Code Playgroud)
这样你可以在大多数情况下使用标准的MembershipUser,但如果你需要获得有关当前用户的更多细节,你可以这样做:
MembershipUser user = Membership.GetUser();
CustomMember member = CustomMember.GetMember(user);
Run Code Online (Sandbox Code Playgroud)
不过,我有兴趣看看其他人的方法是什么.
归档时间: |
|
查看次数: |
1700 次 |
最近记录: |