Asp.net mvc 授权属性不工作MVC 5

Asp.net mvc 授权属性不工作MVC 5,asp.net-mvc,asp.net-mvc-5,Asp.net Mvc,Asp.net Mvc 5,我已经将模型分成了具体的项目 在此之后,MVC默认的[Authorize]属性在我的应用程序中不起作用 当我尝试登录应用程序时,它既不是登录应用程序,也不是重定向到特定页面 <authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="2880" /> </authentication> 在您的web.config中?我遇到了与授权不工作相同的问题。起初我以为是密码。但

我已经将模型分成了具体的项目

在此之后,MVC默认的[Authorize]属性在我的应用程序中不起作用


当我尝试登录应用程序时,它既不是登录应用程序,也不是重定向到特定页面

<authentication mode="Forms">
 <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>


在您的web.config中?

我遇到了与授权不工作相同的问题。起初我以为是密码。但一切都是对的——它没有错误。然后我重新启动了我的开发机器,它开始工作。它第一次起作用,然后就出现了同样的问题。我想它一定是在存储第一个周期的值,而不是清除它。(只是一个理论)

我今天遇到了这个问题,我想为任何可能遇到这个错误的人添加我的解决方案。我没有别的办法。我最近为这个解决方案中的另一个项目进行了安装,我必须在Configuration Manager中取消选中“Build”框

在未选中该选项的情况下,当我添加[Authorize]标记时,它没有重新构建,即使我确实对显示的cshtml页面进行了更改。直到我在我的控制器操作中设置了一个断点,并注意到我从未点击它,我才明白这一点。我甚至尝试从控制器返回null,应用程序仍然导航到新页面


因此,长话短说,请检查以确保您正在Configuration Manager中构建该项目,这对我来说是有效的。

检查您是否已删除表单授权模块。默认情况下,某些新模板会删除表单授权。如果它已被删除,请将其注释掉。在您的web.config中,它将如下所示:

<remove name="FormsAuthentication" />


我发现这个问题寻找的是一个非常类似的错误,所以我认为发布我的解决方案会很好。

对于我来说,我需要设置以下appSetting

<add key="owin:AutomaticAppStartup" value="false"/>


对我来说,它有一个很小的错误。我还没有通过认证。尽管浏览器关闭,Owin身份验证仍保留用户登录。我需要用以下代码表示注销:

public void IdentitySignout() {
   AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie,
   DefaultAuthenticationTypes.ExternalCookie);
}

对我来说,我刚刚从Google Chrome中删除了cookies,它成功了。

你能发布一些代码吗。如果没有它,就很难找出问题所在。当将authorize属性放在controller之前时,它什么也不做。当我删除属性时,我正确地将我重定向到我面临的特定视图。在重新构造解决方案后,将模型从主项目分离为单独的项目。这并不能真正回答问题,并且可能应该作为评论发布。只是花了几个小时试图找出我的作者不工作的原因。。。就是这样。。。在标签内。。。sooo令人沮丧…在挣扎了2个小时后为我工作。你的问题没有帮助
public void IdentitySignout() {
   AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie,
   DefaultAuthenticationTypes.ExternalCookie);
}