MVC C#检查用户是否在ajax请求上进行了身份验证

时间:2017-02-24 12:09:20

标签: c# ajax asp.net-mvc authentication asp.net-ajax

在执行ajax请求时,验证用户是否经过身份验证的正确方法是什么?

到目前为止,我使用JSonResultAllowAnonymous,但现在我想验证用户是否经过身份验证,因为我需要来自经过身份验证的用户的数据才能执行某些操作。我不想在视图中使用隐藏字段,因为这不安全,我想使用ajax,因为我不希望页面刷新。有没有办法验证ajax请求中的身份验证?或者还有另一种方法来实现这一目标吗?

1 个答案:

答案 0 :(得分:2)

不知道我是否理解你,但在你控制器的方法中你返回JsonResult你可以检查

Request.IsAuthenticated 

User.Identity.IsAuthenticated

如果为true,则可以为登录用户执行额外操作。

public JsonResult Index()
{
   if(Request.IsAuthenticated)
   {
      //Do actions for logged in user
   }
   else{

   } 
}