C# MVC检查用户是否通过ajax请求的身份验证

C# MVC检查用户是否通过ajax请求的身份验证,c#,ajax,asp.net-mvc,authentication,asp.net-ajax,C#,Ajax,Asp.net Mvc,Authentication,Asp.net Ajax,在执行ajax请求时,如何正确地验证用户是否经过身份验证 直到现在,我使用了一个带有AllowAnonymous的JSonResult,但是现在我想验证用户是否经过身份验证,因为我需要来自经过身份验证的用户的数据来执行一些操作。我不想在视图中使用隐藏字段,因为这是不安全的,我想使用ajax,因为我不想刷新页面。有没有办法在ajax请求中验证身份验证?或者有其他方法来实现这一点吗?不知道我是否正确理解了您,但在您返回JsonResult的控制器方法中,您可以检查 Request.IsAuthent

在执行ajax请求时,如何正确地验证用户是否经过身份验证


直到现在,我使用了一个带有AllowAnonymous的JSonResult,但是现在我想验证用户是否经过身份验证,因为我需要来自经过身份验证的用户的数据来执行一些操作。我不想在视图中使用隐藏字段,因为这是不安全的,我想使用ajax,因为我不想刷新页面。有没有办法在ajax请求中验证身份验证?或者有其他方法来实现这一点吗?

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

Request.IsAuthenticated 

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

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

   } 
}

请提供ajax代码。因为如果您想通过ajax调用将登录页面导航到主页是不可能的。除非您共享代码,否则无法提供帮助。我还没有代码,我正在规划一个应用程序,我需要解决此问题。假设您正在开发一个社交网络。你有照片,你想有一个“喜欢”按钮。您希望此按钮在ajax帖子中显示。在服务器端,我需要将类似的内容存储到数据库中,我想为类似内容分配一个用户ID,因此我需要知道用户是否经过身份验证并获取其ID。使用ajax是否可行?当您通过jquery执行ajax请求时,请向我们提供代码示例,您有吗?如果不是跨域请求,那么是的。jquery Ajax为同一个域发送cookie。太好了,我不知道。谢谢应该指出的是,只有当您执行MVC操作时,这才有效。如果该操作是Web Api操作,则该操作将失败,因为Web Api不支持cookie或任何类型的状态。在这种情况下,您必须执行类似于在请求的授权标头中传递承载令牌的操作。
public JsonResult Index()
{
   if(Request.IsAuthenticated)
   {
      //Do actions for logged in user
   }
   else{

   } 
}