[英]Extending parameters for Membership.CreateUser method
I use this code to call my custom membership-provider method : 我使用此代码调用我的自定义成员资格提供程序方法:
Membership.CreateUser(newUser.UserName, newUser.Password);
but I need to extend some parameters. 但我需要扩展一些参数。 I have written this to override method :
我写这个覆盖方法:
public override MembershipUser CreateUser(string username, string password, string email,
string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
{
try
{
int max = 1;
int RoleID = 0;
using (var context = new KowsarSiteEntities())
{
max += (from i in context.aspnet_Users
select i).Max(itm => itm.UserId);
RoleID = (from v in context.aspnet_Roles
where v.RoleName.ToLower().Equals(RoleName)
select v.RoleId).FirstOrDefault();
KowsarSiteModel.aspnet_Membership member =
KowsarSiteModel.aspnet_Membership.Createaspnet_Membership
(ApplicationID, max, GetHashedPassword(password), 1);
KowsarSiteModel.aspnet_Users ASPNETusers =
KowsarSiteModel.aspnet_Users.Createaspnet_Users(ApplicationID, max, username);
KowsarSiteModel.aspnet_UsersInRoles userInRoles =
KowsarSiteModel.aspnet_UsersInRoles.Createaspnet_UsersInRoles(max, RoleID);
context.AddToaspnet_Membership(member);
context.AddToaspnet_Users(ASPNETusers);
context.AddToaspnet_UsersInRoles(userInRoles);
context.SaveChanges();
}
status = MembershipCreateStatus.Success;
}
catch (Exception ex)
{
string str = ex.Message;
status = MembershipCreateStatus.UserRejected;
}
return null;
}
I need to add some parameters to CreateUser method but How it is possible Membership is a static class how I can customize it? 我需要向CreateUser方法添加一些参数但是如何成为可能会员是一个静态类我如何自定义它?
((YourProviderType)Membership.Provider).CreateUser(yourParameters);
You cannot use the static class provided by System.Web.Security if you're not going to conform to their interface. 如果您不符合他们的界面,则不能使用System.Web.Security提供的静态类。
As abatishchev has pointed out, however, you don't have to use the static class; 然而,正如abatishchev指出的那样,你不必使用静态类; you can always use your own class instead.
你可以随时使用自己的班级。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.