Asp.net mvc 3 从ASP.NET转换MVC3成员资格配置文件
我正在将一个web应用程序从asp.net转换为MVC3,并试图找出如何设置和访问在旧应用程序中配置的配置文件属性 我可以从旧应用程序访问数据库,并且可以使用MVC3创建新用户Asp.net mvc 3 从ASP.NET转换MVC3成员资格配置文件,asp.net-mvc-3,asp.net-membership,asp.net-profiles,Asp.net Mvc 3,Asp.net Membership,Asp.net Profiles,我正在将一个web应用程序从asp.net转换为MVC3,并试图找出如何设置和访问在旧应用程序中配置的配置文件属性 我可以从旧应用程序访问数据库,并且可以使用MVC3创建新用户 Membership.CreateUser(model.UserName, model.Password, model.Email, model.SecretQuestion, model.SecretAnswer, true, out createStatus); 此新用户被放置在数据库用户表中。我还需要存储有关用户
Membership.CreateUser(model.UserName, model.Password, model.Email, model.SecretQuestion, model.SecretAnswer, true, out createStatus);
此新用户被放置在数据库用户表中。我还需要存储有关用户的其他信息,并且我必须仍然使用在旧应用程序中创建的旧数据库,这样当我们切换到新应用程序时,当前用户仍然可以登录,并且除了一些布局改进之外,不会注意到任何更改
旧数据库中还有一个名为PROFILE的表,该表存储了其他值,如
UserId、PropertyNames、PropertyValuesString、PropertyValuesBinary、LastUpdateDate
DB7E1F8E-FB45-49E5-A2AF-C83A371CC22F,PartnerID:S:0:2:FirstName:S:2:4:LastName:S:6:12:index:S:18:1:,26milominder3,0x,2010-09-29 21:23:33.737
这是使用MVC3中不可用的成员资格向导创建的。我需要找到一种方法来创建具有MVC3的用户,并且仍然向该表添加适当的值
提前感谢您提供的任何帮助 您可以创建自己的会员类。。。尝试实现MembershipProvider类并将其注册到Web.Config中
这是处理会员资格的非常灵活的方式。我一直在使用它…默认的MVC 3 internet应用程序模板在界面中包含一个方法,用于创建用户:
public interface IMembershipService
{
int MinPasswordLength { get; }
bool ValidateUser(string userName, string password);
MembershipCreateStatus CreateUser(string userName, string password, string email);
bool ChangePassword(string userName, string oldPassword, string newPassword);
}
其实施方式如下:
public MembershipCreateStatus CreateUser(string userName, string password, string email)
{
if (String.IsNullOrEmpty(userName)) throw new ArgumentException("Value cannot be null or empty.", "userName");
if (String.IsNullOrEmpty(password)) throw new ArgumentException("Value cannot be null or empty.", "password");
if (String.IsNullOrEmpty(email)) throw new ArgumentException("Value cannot be null or empty.", "email");
MembershipCreateStatus status;
_provider.CreateUser(userName, password, email, null, null, true, null, out status);
return status;
}
所以-你需要
添加或更改现有方法,并将新参数添加到方法签名中
将参数添加到接口方法或在接口上创建新方法
将函数调用更改为_provider.CreateUser以传递参数
执行此操作是否会在配置文件表中存储其他配置文件数据?我读到的所有关于这样做的内容都要求你修改用户表,而我没有这种奢侈。不,不直接,但你有这样做的自由。。。您可以决定将数据存储在何处,如果需要,可以拆分用户表和配置文件表。。。我认为对于身份验证,您只需要用户表。。。要修改概要文件表,只需向控制器添加方法即可。。。