Asp.net mvc ASP.NET MVC-自定义身份验证不起作用

Asp.net mvc ASP.NET MVC-自定义身份验证不起作用,asp.net-mvc,authentication,forms-authentication,Asp.net Mvc,Authentication,Forms Authentication,我创建了一个简单的身份验证表单,使用FormsAuthentication对用户进行身份验证 我就是这样用的 public ActionResult LoginUser(Login login) { //var encodedPassword = HashPassword.Decode(login.Password); var encodedPassword = login.Password; var log

我创建了一个简单的身份验证表单,使用FormsAuthentication对用户进行身份验证

我就是这样用的

public ActionResult LoginUser(Login login)
        {
            //var encodedPassword = HashPassword.Decode(login.Password);
            var encodedPassword = login.Password;
            var loginData = context.Accounts.Where(p => p.Username == login.Username && p.Password == encodedPassword).SingleOrDefault();

            if (loginData != null)
            {
                FormsAuthentication.SetAuthCookie(login.Username, false);


                return RedirectToAction("Index", "Home");
            }
            else
            {
                TempData["errMess"] = "Invalid credential";
                return RedirectToAction("Login");
            }
        }
现在我有了一个在_layout.cshtml中获取登录用户名的代码

<div class="profile_info">
   <span>
      Welcome,
      @if (Request.IsAuthenticated)
      {
         @Html.Encode(User.Identity.Name)
      }else {
         <strong>Hello worlds</strong>
      }
    </span>
</div>
但这并不能解决我的问题 我做错了什么或者我遗漏了什么请帮助我我是网络新手 谢谢

您添加了什么

<authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" />
    </authentication>

在web.config的内部部分

那么您有什么问题?是用户名未显示还是其他内容?请解释什么东西不起作用,还考虑使用成员资格或身份提供者,而不是定制的身份验证。我无法登录用户名,也授权不工作在控制器。你有一个AuthCookie可能???在web中更改必要的设置。config@mahlatse-以E63C9EC8287A32E7CCB8A98B88345EBDCB01E2E1F0D731EECC407CCD648C8388468CD922A73C1C08C48091066E6028B25D58391DCE5E837010959ED7AC9A2176616C4985BB80E6738EAFCE7BEA3E1AB68C4927BA8C04CF6DC8A05116A4A9960496025C2C8788ADA003BC1F的格式创建身份验证cookie。如何更改web.Config中的设置确保客户端浏览器已启用Cookie,也可以使用。User.Identity.Name属性从请求cookie检索其值。