Dot*_*ude 4 c# asp.net asp.net-membership
默认情况下,Membership API使用单独的用户名字段来登录用户.我想使用电子邮件地址供用户登录.这是一个好主意吗?
如何修改登录,注册用户,忘记密码控制以支持此功能?
这当然可以做到这一点.一种方法是更改CreateUserWizard模板并删除默认的电子邮件文本框并将EmailRequired设置为false.然后,将用户名标签更改为电子邮件.如果使用CreateUserWizard控件,则必须将文本框ID保留为UserName,否则将引发错误.然后,您可以像往常一样访问"用户名",因为用户的电子邮件地址将存储在用户名列中.
如果需要,您还可以通过处理CreatedUser事件让电子邮件列填充用户名.例如,你可以这样做:
MembershipUser currentUser = Membership.GetUser();
currentUser.Email = currentUser.UserName;
Membership.UpdateUser(currentUser);
Run Code Online (Sandbox Code Playgroud)
这样,当您要使用成员资格方法时,也会填写电子邮件列.主要缺点是Membership API不允许您更改用户名.因此,如果用户更改了其电子邮件地址,则其用户名将保留为旧电子邮件地址.为了解决这个问题,您必须跳过Membership API并直接转到SQL代码.你可以在这里找到如何做到这一点
| 归档时间: |
|
| 查看次数: |
1042 次 |
| 最近记录: |