设置电子邮件地址作为用户名在ASP.NET成员资格提供 [英] Set email address as username in ASP.NET Membership provider

查看:133
本文介绍了设置电子邮件地址作为用户名在ASP.NET成员资格提供的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用的电子邮件地址作为用户名的成员资格API,而不是接受一个用户名。  我想,一个用户可以使用电子邮件地址立即登记到我的网站,他可以用电子邮件ID和密码,而不是用户名和密码登录。

I want to use email address as username in membership api instead of accepting a username. I want that a user can signup to my site using email address and he can login using email id and password instead username and password.

推荐答案

这是我们做的,所以它的可重复使用的,我们可以章它在web.config中。如果你想想看,这是它计数。只要你的验证和前端显示给他们的用户名应该是邮件的最终用户,以及你做正确的验证......从那里正常的呼叫到任何成员提供的支持你。新方法的快捷版本,隐藏/改变我们的门面背后的原件。

This is what we did, so its reusable and we can reg it in the web.config. If you think about it, this is where it counts. as long as your validation and frontend indicate to the enduser that their username should be email, and you do proper validation... from there its normal calls to whatever membership provider is backing you. New method for the shortcut version, and hiding/altering the original behind our facade.

public class EmailAsUsernameMembershipProvider : SqlMembershipProvider
{
    public MembershipUser CreateUser(string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
    {
        return base.CreateUser(email, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, out status);
    }
    private new MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
    {
        return base.CreateUser(email, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, out status);
    }

    public override bool RequiresUniqueEmail
    {
        get
        {
            return true;
        }
    }
}

这篇关于设置电子邮件地址作为用户名在ASP.NET成员资格提供的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆