Атрибут Authorize не работает в моем проекте - PullRequest
0 голосов
/ 07 мая 2019

Я работал над проектом в MVC 5, используя Asp.net C #, с тех пор, как проект давно завершен, и я должен ограничить несанкционированный доступ, но атрибут 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 Ответ

1 голос
/ 07 мая 2019

У меня такая же проблема, но

не следует удалять в

<remove name="FormsAuthentication" />

быть удаленным?

Edit:

Я исправил свою проблему, добавив:

  app.UseMvc();

в мой Configure класс

и

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

в мой ConfigureServices класс

Надеюсь, что это поможет вам

EDIT2:

Взгляните на это:

Если приложение использует функции аутентификации / авторизации, такие как AuthorizePage или [Authorize], сделайте вызов UseAuthentication и UseAuthorization после UseRouting.

Так что да ... Потраченные впустую часы, пытаясь понять это. Спасибо Microsoft. Надеюсь, это тоже была ваша проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...