如何解决不需要电子邮件地址的登录过程
|| 我被要求创建一个站点,由于隐私问题,该站点不需要用户提供电子邮件登录。在过去,我简单地说过这是不可取的,但在这种情况下,客户已经提出了严格要求。我最初的想法是使用电子邮件创建潜在的管理员,他们可以创建通用登录名(用户名和密码)并将其传递给网站上的该组成员。然后,至少我有一个登录重置之类的联系人。 是否有人在不需要使用电子邮件地址即可创建登录名的情况下有任何经验?您能否将我引向可能有用的任何相关材料或教程。我正在使用MVC3开发此项目。解决方法
希望我能正确理解您的问题,并且希望使用用户名和密码而不是电子邮件地址和密码来实现登录。
在这种情况下,如果需要,您将必须实现自己的自定义成员资格提供程序和自定义角色提供程序。
您想查看以下页面以获取更多信息:
自定义会员资格提供者@ Codeproject
编辑
供您使用,不需要实现每个功能-只需实现所需的功能即可。
来自一些较老的mvc3项目的自定义成员资格提供程序。删除了大多数未实现的函数,以缩短代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
namespace Domain.Models
{
public class PlatformMembershipProvider : MembershipProvider
{
public SalesModelContainer ******** = new SalesModelContainer();
public override bool ChangePassword(string username,string oldPassword,string newPassword)
{
var user = ********.UserSet.Single(s => s.Email == username);
if (user.Password == oldPassword)
{
user.Password = newPassword;
return true;
}
else
{
return false;
}
}
public override string GetUserNameByEmail(string email)
{
var user = ********.UserSet.Single(s => s.Email == email);
return user.CompanyName;
}
public override void UpdateUser(System.Web.Security.MembershipUser user)
{
throw new NotImplementedException();
}
//TODO: use MD5 for password encryption
public override bool ValidateUser(string username,string password)
{
bool returnValue;
var user = ********.UserSet.SingleOrDefault(s => (s.Email == username) && (s.Password == password));
if (user != null)
returnValue = true;
else
returnValue = false;
return returnValue;
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。