Asp.net mvc Request.IsAuthenticated不';t更改窗体中的视图ASP.NET MVC中的身份验证

Asp.net mvc Request.IsAuthenticated不';t更改窗体中的视图ASP.NET MVC中的身份验证,asp.net-mvc,forms-authentication,Asp.net Mvc,Forms Authentication,我正在开发一个简单的asp.Net MVC应用程序,需要进行验证 型号 public class Member { [Required] [Display(Name = "Username")] public string Username { set; get; } [Required] [Display(Name = "Password")] public string Password { set; get; } [Display

我正在开发一个简单的asp.Net MVC应用程序,需要进行验证

型号

public class Member
{
    [Required]
    [Display(Name = "Username")]
    public string Username { set; get; }

    [Required]
    [Display(Name = "Password")]
    public string Password { set; get; }

    [Display(Name = "Remember Me?")]
    public bool RemeberMe { set; get; }

    public bool IsValid(string username,string password)
    {
        return (new TestdbEntities()).Members.Any(m => m.Username == username && m.Password == password);
    }
}
[HttpGet]
public ActionResult Login()
{
    return View();
}

[HttpPost]
public ActionResult Login(Models.Member member)
{
    if (ModelState.IsValid)
    {
        if (member.IsValid(member.Username, member.Password))
        {
            FormsAuthentication.SetAuthCookie(member.Username,member.RemeberMe);
            return RedirectToAction("Index","Home");
        }
        else
        {
            ModelState.AddModelError("","Invalid Username/Passowrd!");
        }
    }
    return View(member);
}
控制器

public class Member
{
    [Required]
    [Display(Name = "Username")]
    public string Username { set; get; }

    [Required]
    [Display(Name = "Password")]
    public string Password { set; get; }

    [Display(Name = "Remember Me?")]
    public bool RemeberMe { set; get; }

    public bool IsValid(string username,string password)
    {
        return (new TestdbEntities()).Members.Any(m => m.Username == username && m.Password == password);
    }
}
[HttpGet]
public ActionResult Login()
{
    return View();
}

[HttpPost]
public ActionResult Login(Models.Member member)
{
    if (ModelState.IsValid)
    {
        if (member.IsValid(member.Username, member.Password))
        {
            FormsAuthentication.SetAuthCookie(member.Username,member.RemeberMe);
            return RedirectToAction("Index","Home");
        }
        else
        {
            ModelState.AddModelError("","Invalid Username/Passowrd!");
        }
    }
    return View(member);
}
查看

问题出现在视图中,我希望在用户成功身份验证时,登录链接更改为注销链接,但即使在我跟踪时,登录也成功,但是
请求。IsAuthenticated
为false

<body>
    <ul class="nav nav-pills">
        <li>
            @Html.ActionLink("Home", "Index", "Home")
        </li>
        <li>
            @if (Request.IsAuthenticated)
            {
                <label>Welcome </label>  @Html.Encode(User.Identity.Name)
                @Html.ActionLink("Signout", "Logout", "Membership")
                @Html.Label(User.Identity.Name.ToString())
            }
            else
            {
                @Html.ActionLink("Login", "Login", "Membership")
            }
        </li>
    </ul>
    <div>
        @RenderBody()
    </div>
</body> 

  • @ActionLink(“主页”、“索引”、“主页”)
  • @如果(请求已验证) { 欢迎@Html.Encode(User.Identity.Name) @ActionLink(“注销”、“注销”、“会员资格”) @Label(User.Identity.Name.ToString()) } 其他的 { @ActionLink(“登录”、“登录”、“会员资格”) }
@RenderBody()
使用以下方法:

User.Identity.IsAuthenticated()

检查web.config文件,必须在
标记下添加