Blazor по умолчанию поставщик ролей - PullRequest
0 голосов
/ 26 февраля 2020

Я установил приложение Blazor в. NET Core 3.1, и я внедряю аутентификацию / авторизацию, но ясно, что я просто не понимаю, как работает аутентификация по умолчанию.

Я установил тег «AuthorizeView» следующим образом, полностью ожидая, что он потерпит неудачу:

<AuthorizeView Context="auth" Roles="Admin">
<Authorized>
Content
 </Authorized>
    <NotAuthorized>
        You do not have access to this page.
    </NotAuthorized>
</AuthorizeView>

, но вместо этого он работает нормально. Я могу видеть раздел «Контент», несмотря на то, что я не настроил ЛЮБУЮ авторизацию. Я предполагаю, что по умолчанию это что-то вроде Windows Аутентификация (именно это я и использую в своем приложении Blazor), но я не указываю где-либо использовать AD Authorization.

Может кто-нибудь указать мне на где я мог бы go, или помогите мне понять, как это работает по умолчанию и откуда он вытаскивает эту роль «Администратор»?

1 Ответ

1 голос
/ 27 февраля 2020

Вы можете контролировать и ограничивать доступ к своим ресурсам, используя авторизацию. Вы можете контролировать доступ в зависимости от ролей пользователя, утверждений и политики авторизации.

Используя описанный выше AuthorizeView и устанавливая атрибут Roles равным «Admin», вы сообщаете Blazor, что если пользователь принадлежит роли Admin, он получает доступ к содержимому в элементе Authorized.

Я полагаю, что вы настроили ваше приложение Blazor для аутентификации пользователей, обращающихся к вашему приложению, выбрав Windows Аутентификация при создании приложения, верно?

Когда вы пытаетесь получить доступ к своему приложению, вас попросят предоставить учетные данные, которые передаются из IIS (express) в ваше приложение ...

Грубо говоря, объект принципа утверждений (или Windows принцип) создается Blazor и передается объекту с именем ServerAuthenticationStateProvider как AuthenticationState объект. Этот объект, то есть объект AuthenticationState, также предоставляется AuthorizeView, базовый класс которого AuthorizeViewCore содержит logi c для вызова IAuthorizationService, передавая ему принцип утверждений. Теперь служба авторизации проверяет объект принципа утверждений, какие утверждения он имеет, какие роли у него есть, и, конечно, он ищет утверждение роли со значением «Admin», если оно найдено, возвращается true и в конце канала. В строке решено, что вам разрешен доступ к ограниченному контенту.

, где она извлекает эту роль «Администратор» из

Из вашей Windows AD, если у вас одна или из windows учетных записей пользователей и т. Д. c. Помните, вы сказали мастеру, что вы хотите использовать Windows аутентификацию (это мое предположение, иначе все, что я сказал, может быть неверным).

Вам лучше go с документами и познакомиться с такими сервисами, как AuthenticationStateProvider, ServiceAuthenticationStateProvider и др. c.

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