我有一个带有控制器的 ASP.NET MVC 应用程序。此控制器中的所有操作都可以由匿名用户访问。但是,如果用户通过了身份验证,我想在操作中做一些特别的事情。目前,我注意到无论如何,在此操作的上下文中,User.Identity.IsAuthenticated 始终为 false。这是我的代码:
public class MyController : Controller
{
public ActionResult GetProfile(string id)
{
if (User.Identity.IsAuthenticated) {
ViewBag.ShowAuthStuff = true;
} else {
ViewBag.ShowAuthStuff = false;
}
}
}
如何使经过身份验证和未经身份验证的用户都可以访问相同的操作,但做不同的事情?我不明白为什么 User.Identify.IsAuthenticated 总是假的。我检查了我的饼干。当我登录时,有一个名为:
.ASPXAUTH
但是,当我访问该操作时,该 cookie 不再可用。