Мы начинаем переносить проект в Blazor, и у нас возникают некоторые проблемы с ограничением содержимого только для зарегистрированных пользователей.
Для этого теста мы использовали стандартный проект Visual Studio 2019 Blazor на стороне серверашаблон с включенной аутентификацией локальных пользователей и учетных записей.
Затем мы изменили файл App.razor на следующий:
<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
<AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)">
<NotAuthorized>
NOT AUTHORIZED!!!!!
</NotAuthorized>
<Authorizing>
AUTHORIZING!!!!!
</Authorizing>
</AuthorizeRouteView>
</Found>
<NotFound>
<CascadingAuthenticationState>
<LayoutView Layout="@typeof(MainLayout)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</CascadingAuthenticationState>
</NotFound>
Код в <NotAuthorized>
я никогда не получал «cookie» в браузере и даже пытался в частном окне браузера.
Я вставил HTTPContext в другой компонент, чтобы посмотреть, что происходит с текущим пользователем. Текущий пользователь не является нулевым, у него есть личность, но он показывает не прошедшую проверку подлинности и не имеет никаких претензий, как ожидалось.
Есть что-то, что я здесь упускаю?