Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery MVC表单身份验证在用户登录后不起作用_Jquery_Ajax_Asp.net Mvc - Fatal编程技术网

Jquery MVC表单身份验证在用户登录后不起作用

Jquery MVC表单身份验证在用户登录后不起作用,jquery,ajax,asp.net-mvc,Jquery,Ajax,Asp.net Mvc,我有一个登录方法,可以成功地与数据库通信,并在4.5.1中设置authCookie [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public ActionResult Login(LoginModel model) { //call my DB FormsAuthentication.SetAuthCookie(model.UserName, false); return Redirect

我有一个登录方法,可以成功地与数据库通信,并在4.5.1中设置authCookie

 [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public ActionResult Login(LoginModel model)
    {

//call my DB
 FormsAuthentication.SetAuthCookie(model.UserName, false);
  return RedirectToAction("Index");
}
然后我重定向到一个用[Authorize]修饰的索引页 它的工作原理与预期一致

在这个页面上,我有一个从Jquery/Ajax调用的HttPost方法:

[HttpPost]
    public ActionResult RemovePermission(string staff)
    {

       if (User.Identity.IsAuthenticated)
        {
            DataAccessor d = new DataAccessor();
            d.Remove(staff);

        }
        return RedirectToAction("Index", "Home");
    }
如果我用[Authorize]修饰这个方法,它就不起作用了。永远不要进入这个方法,大概是因为它认为用户没有登录。。如果我不这样做,并检查用户是否在上面的If语句中进行了身份验证,则它们不是

//Web.Config 表单loginUrl=~/Home/LogIn timeout=1000


我缺少什么?

如果您有以下内容,请尝试将其从web.config中的模块中删除:

<remove name="FormsAuthenticationModule" />

如果创建持久cookie会发生什么?ie:在方法调用中将布尔值设置为true。FormsAuthentication.SetAuthCookiemodel.UserName,true;如果您的getting on RemovePermission方法的错误代码是401,那么是的,那么您可以确定这是一个权限问题,我尝试过解决这个问题。这件事让我很困惑。从我读到的有关FormsAuthentication.SetAuthCookie的内容。它只使用经过身份验证的信息来装饰下一个http请求,而不超过该信息。我不敢相信会是这种情况,但似乎就是这样。谢谢你的回复,我创建了一个空的MVC项目,在web.config中没有行或部分。