@OwDafuq

Несколько вопросов про blazor server side?

Доброго времени суток.
Начал изучать blazor (SERVER SIDE(!)) и столкнулся с не понимаем и невозможностью найти ответы на свои вопросы в гугле.
1. Как сделать так, чтобы при заходе на сайт сразу перенаправляло на страницу авторизации, т.е. все страницы сайты были доступны только авторизованному пользователю;
2. Можно ли перенести страницы в библиотеки? Попытался перенести страницу авторизации в отдельную библиотеку в папку Pages, но приложение упорно не видит эту страницу. Выдает только "Sorry, there's nothing at this address.";

Возможно, частичный ответ на первый вопрос у меня есть из гугла, но я не уверен, что он правильный, прикладываю:
Добавил атрибут авторизации в _Imports.razor:
@attribute [Authorize]

В App.razor поменял структуру на :
<CascadingAuthenticationState>
    <Router AppAssembly="@typeof(Program).Assembly" PreferExactMatches="@true">
        <Found Context="routeData">
            <AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)">
                <NotAuthorized>
                    <RedirectToLogin/>
                </NotAuthorized>
            </AuthorizeRouteView>
        </Found>
        <NotFound>
            <LayoutView Layout="@typeof(MainLayout)">
                <p>Sorry, there's nothing at this address.</p>
            </LayoutView>
        </NotFound>
    </Router>
</CascadingAuthenticationState>


где RedirectToLogin - компонент razor, лежащий отдельно в другой библиотеке (он работает и всё прекрасно перенаправляет, но страницу /login он не видит):
@inject NavigationManager navManager

@code {
    protected override void OnInitialized()
    {
        navManager.NavigateTo("login");
    }
}


Где страница /login (находится в другой библиотеке по пути: MySite.SecondLib/Pages/Login.razor):
@page "/login"

<h1>LOGIN PAGE</h1>


Буду рад любым ответам. Спасибо.
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы