自定义注册操作在注册时添加角色

时间:2015-02-22 14:50:23

标签: c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

使用表单身份验证的asp.net mvc 4应用程序。我正在尝试在注册时向用户添加角色。我从服务器收到错误500。所以我在注册行动上设置了一个断点。它跳出Membership.CreateUser方法,用户名和密码都可以。任何想法可能是错的。我知道if模型状态检查不应该存在。

    public ActionResult Register(string username, string password)
    {
        if (ModelState.IsValid)
        {
            // Attempt to register the user
            MembershipCreateStatus Status;
            Membership.CreateUser(username,password,null, null, null, true, null, out Status);
            //WebSecurity.CreateUserAndAccount(username, password);
            if (Status == MembershipCreateStatus.Success)
            {
                Roles.AddUserToRole(username, "Mechanic");
                FormsAuthentication.SetAuthCookie(username, false);
                return RedirectToAction("Index", "Home");
            }
            else
            {
                ModelState.AddModelError("", ErrorCodeToString(Status));
            }

            return RedirectToAction("Mechanics", "Mechanic");

        }

        // If we got this far, something failed, redisplay form
        return View();
    }

1 个答案:

答案 0 :(得分:0)

您可以在此方法调用周围放置一个try / catch并检查异常:

try
{
    Membership.CreateUser(username,password,null, null, null, true, null, out Status);
}
catch (Exception ex)
{
    ... put the breakpoint here and inspect the exception
}