授权属性在我的项目中不起作用

时间:2019-05-07 06:48:52

标签: c# asp.net-mvc

很长一段时间以来,我一直在使用Asp.net C#在MVC 5中进行项目开发,现在该项目已经完成,我必须限制未经授权的访问,但是Authorize属性无法正常工作。

这是web.config文件的某些部分

<appSettings>
  <add key="webpages:Version" value="3.0.0.0" />
  <add key="webpages:Enabled" value="false" />
  <add key="ClientValidationEnabled" value="true" />
   <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
  <authentication mode="None" />
  <compilation debug="true" targetFramework="4.5.2" />
  <httpRuntime targetFramework="4.5.2" />
</system.web>
<system.webServer>
  <modules>
    <remove name="FormsAuthentication" />
  </modules>
</system.webServer>

1 个答案:

答案 0 :(得分:1)

我有同样的问题,但是

不应删除

<remove name="FormsAuthentication" />

被删除?

编辑:

我通过添加以下内容解决了我的问题:

  app.UseMvc();

进入我的Configure

services.AddMvc().AddMvcOptions(opts =>
            {
                opts.EnableEndpointRouting = false;
            }
            );

进入我的ConfigureServices

希望对您有帮助

EDIT2:

看看这个:

If the app uses authentication/authorization features such as AuthorizePage or [Authorize], place the call to UseAuthentication and UseAuthorization after UseRouting.

所以,是的。。。浪费时间试图解决这个问题。谢谢微软。希望这也是您的问题。