Правильно настроить авторизацию и аутентификацию ASP.Net Core в проекте .Net Core 3.0 - PullRequest
4 голосов
/ 11 декабря 2019

В настоящее время я работаю над проектом .net core api с VSCode и хочу интегрировать проверку подлинности и авторизацию ASP.NET Core с помощью файла cookie.

Я пытался добавить services.AddAuthentication(); и services.AddAuthorization(); в Startup.cs. Я также добавил атрибут [Authorize] в свой UsersController.cs.

[Authorize]
    [Route("api/Users")]
    [ApiController]
    public class UsersController : ControllerBase

Проблема в том, что когда я запускаю свое приложение, даже если я не создал пользователя или роли, у меня все еще может бытьдоступ к моему API. (https://localhost:5001/api/Users)

Я попытался настроить launchSettings.json следующим образом:

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": false,
    "iisExpress": {
      "applicationUrl": "http://localhost:49086",
      "sslPort": 44343
    }

Но у меня все еще есть доступ к моему API. Как запретить доступ, если нет пользователей или ролей?

Я наверняка что-то пропустил, но не знаю, что.

Заранее благодарю за помощь!

1 Ответ

0 голосов
/ 11 декабря 2019

Ну, я вроде тупой, я нашел это решение из связанной проблемы с ASP Mvc 5, я добавил к моей Startup.cs следующую строку в моем ConfigurationServices:

services.AddMvcCore(option => option.EnableEndpointRouting = false).AddAuthorization();

И вConfigure:

app.UseMvc();

И теперь [Authorize] в моих контроллерах работает, если я не аутентифицирован, я не могу получить доступ к своим API.

...