.net - ASP.NET 自定义 MembershipProvider,更改 CreateUser 语义或添加新方法

标签 .net asp.net asp.net-mvc asp.net-membership

有没有什么办法可以添加额外的方法,比如像这样的语义:

CreateUser(User user, UserInfo userInfo, IsInRole isInRole, <any another things here>) 

我可以创建自定义方法并单独调用该方法,但为了保持歌曲的一致性,我只是想知道是否有任何方法可以像那样自定义 MembershipProvider 或做类似的事情?

最佳答案

我想您已经创建了自定义成员(member)提供程序。您可以简单地在此处添加该方法,然后在您的应用程序中使用它。假设您有像这样的伪(简化)代码的自定义成员资格提供程序:

public class CustomMP : MembershipProvider
{
    var db = // your data (member) storage

    public void CreateUser(string username, UserInfo userInfo, /* etc... */)
    {
        // process data
        // create new user instance.. like:
        MyUser newUser = new MyUser(/* params */);

        db.AppUsers.Add(newUser);
        db.SaveChanges();
    } 
}

然后您可以在您的帐户 Controller (或任何您想要的地方......)中使用它

public ActionResult CreateMyUser(SomeModel model)
{
    if (ModelState.IsValid)
    {
        // create instance of your custom mebership provider
        // (unless you already have one somewhere else ... as you should)
        CustomMP cmp = new CustomMP();

        // call your new method
        cmp.CreateUser(model.username, model.userInfo, /* etc.. */);

        // login newly created user (optional)
        FormsAuthentication.SetAuthCookie(model.username, false /* = don't create persistent cookie);
        return RedirectToAction("Index","Home");
    }
}

这个例子是简化的并且缺少任何形式的验证,但我认为你可以从中得到灵感。它表明您应该能够以任何您想要的方式扩展您的自定义成员资格提供程序。

关于.net - ASP.NET 自定义 MembershipProvider,更改 CreateUser 语义或添加新方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922444/

相关文章:

c# - 从 Selenium webdriver 的当前窗口 GUID 获取窗口句柄 (IntPtr)

c# - ScriptManager - RegisterStartupScript(带有 2 个参数)

asp.net - ExtendedMembershipProvider.GetUserIDfromOauth 返回什么用户 ID?

asp.net - Controller.执行渲染为没有内容类型的文本文件

asp.net-mvc - 如何开始在 Windows 的 ServiceStack 上使用 Redis?

asp.net-mvc - 如何在 asp.net mvc View 中验证日期时间格式时覆盖 "A value is required."?

c# - KeyDown KeySuppress 是否取消 KeyUp 事件?

c# - 我对 Parallel.ForEach 做错了什么

java - 超出 post_max_size 时的 php 行为

asp.net-mvc - 如何将 css 类应用于 mvccontrib 网格