Как правильно внедрить поведение в отчете от шаблона идентификации Blazor в свой существующий проект?C#

Место общения программистов C#
Ответить
Anonymous
 Как правильно внедрить поведение в отчете от шаблона идентификации Blazor в свой существующий проект?

Сообщение Anonymous »

Во -первых, этот поток вопроса, на момент написания этой статьи, является преемником этой темы: < /p>
  • Как создать и применить новый макет с _imports.razor's Directive, затем внедрял это в существующий шаблон -проект Authorization? Успешно подготовлен к моему существующему проекту. Тем не менее, ожидаемое поведение в журнале применяется только к следующим страницам:

    Account/Manage
  • Account/Manage/Email
  • Account/Manage/ManagePass
  • Account/Manage/TwoFactoraUteration />
  • Account/Manage/PersonalData
Более того, если я нахожусь на любой из ранее упомянутых страниц, а затем выходит (поскольку я изменил местоположение страницы входа в систему, она возвращается к странице входа в систему после входа), я не могу перейти к предыдущей странице, нажав кнопку Browser's Back. Это ожидаемый результат для целей безопасности. Проблема в том, что, например, если я нахожусь в меню «Требуется аут» (

Код: Выделить всё

Auth.razor< /code>), пользователь неправильно вычеркнут программой, даже после того, как я нажимаю в систему. src = "https://i.sstatic.net/ecaecpvi.png"/> 
[h4] требуется меню [/h4]
 
[h4] третий набор [/h4]
[code]

 Auth Required






 @context.User.Identity?.Name






 Logout






@code {
private string? currentUrl;

protected override void OnInitialized()
{
currentUrl = NavigationManager.ToBaseRelativePath(NavigationManager.Uri);
NavigationManager.LocationChanged += OnLocationChanged;
}

private void OnLocationChanged(object? sender, LocationChangedEventArgs e)
{
currentUrl = NavigationManager.ToBaseRelativePath(e.Location);
StateHasChanged();
}

public void Dispose()
{
NavigationManager.LocationChanged -= OnLocationChanged;
}
}
Я установил точки останова в oninitialized , onlocationChanged и распоряжение . Ранее упомянутые страницы (которые работают, как и ожидалось), непосредственно выполняют распоряжение после входа. За исключением меню «Требуется аут» (

Код: Выделить всё

Auth.razor
), где последний выполняемый метод предназначен инициализован , который, в свою очередь, технически имеет Loopholes. Поэтому я попытался рефакторировать Navmenu.razor и применил этот код:

Код: Выделить всё




 Logout


Я попытался имитировать аргумент URL, указанный для Currenturl , чтобы функция журнала ведет себя должным образом, и все же пользователь успешно вычеркнут. Тем не менее, проблема в том, что если я нажимаю на кнопку Brower's Back, я могу перейти обратно на главную страницу, которая, предположительно, не произойдет по соображениям безопасности. >>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ty-templat
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»