Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 是否可以强制使用MembershipProvider.ValidateUser进行验证?_.net_Asp.net Mvc_Authentication - Fatal编程技术网

.net 是否可以强制使用MembershipProvider.ValidateUser进行验证?

.net 是否可以强制使用MembershipProvider.ValidateUser进行验证?,.net,asp.net-mvc,authentication,.net,Asp.net Mvc,Authentication,我可能需要添加一些后门,在这里,sysadm可以使用只知道客户用户名的客户帐户登录到aspnet.mvc站点 这是否可能,例如使用来自aspnet membershipprovider的哈希密码或超级用户密码?如果您想获得后门访问,您不需要知道用户的密码。只有他们的用户名 您只需编写FormsAuthentication.SetAuthCookie(用户名,false)即可完成此操作 请确保您限制对该功能的访问。例如,创建一个名为“身份验证代理”的角色。在执行后门访问的控制器操作方法中,请确保仅

我可能需要添加一些后门,在这里,sysadm可以使用只知道客户用户名的客户帐户登录到aspnet.mvc站点


这是否可能,例如使用来自aspnet membershipprovider的哈希密码或超级用户密码?

如果您想获得后门访问,您不需要知道用户的密码。只有他们的用户名

您只需编写
FormsAuthentication.SetAuthCookie(用户名,false)
即可完成此操作

请确保您限制对该功能的访问。例如,创建一个名为“身份验证代理”的角色。在执行后门访问的控制器操作方法中,请确保仅允许“身份验证代理”角色的用户进行后门访问


谢谢,期待着明天再尝试。
[HttpPost]
[Authorize("Authentication Agent")]
public virtual ActionResult SignInAs(SignInAsForm model)
{
    if (model != null)
    {
        MembershipUser member = null;
        if (!string.IsNullOrWhiteSpace(model.UserName))
        {
            model.UserName = model.UserName.Trim();
            member = Membership.GetUser(model.UserName);
        }

        if (member == null)
            ModelState.AddModelError("UserName", string.Format(
                "Username '{0}' could not be found.", model.UserName));

        if (ModelState.IsValid)
        {
            Session["WasSignedInAs"] = User.Identity.Name;
            FormsAuthentication.SetAuthCookie(model.UserName, false);
            TempData["FlashMessage"] = string.Format(
                "Impersonation was successful. You are signed in as {0}.",
                    model.UserName)
            if (!string.IsNullOrWhiteSpace(model.ReturnUrl))
                return Redirect(model.ReturnUrl);
            return RedirectToAction(FormsAuthentication.DefaultUrl);
        }
        return View(model);
    }
    return HttpNotFound();
}