Closed bitsdontbite closed 5 months ago
RedirectToLogin.razor:
@inject NavigationManager Navigation
@code { protected override void OnInitialized() { var uri = Navigation.Uri;
if (!uri.EndsWith("/"))
uri += "/";
Navigation.NavigateTo($"authentication/login?returnUrl={Uri.EscapeDataString(uri)}");
}
}
That's it!
Fix with this code: var uri = Navigation.Uri.Trim() + "/"; uri = uri.Replace("//", "/");
Navigation.NavigateTo($"authentication/login?returnUrl={Uri.EscapeDataString(uri)}");
Confirmed fixed in ACC
Describe the bug When deployed in DEV with IIS (with virtual path), the authentication mechanism in blazor fails without adding a trailing slash to the url. For instance: https://dev.tmd.belgrid.net/ui causes an authentication failure
but:
https://dev.tmd.belgrid.net/ui/ succeeds.
Most users will never add this trailing slash. It can be managed seamlessly by updating the code in RedirectToLogin.razor: Just replace:
Navigation.NavigateTo($"authentication/login?returnUrl={Uri.EscapeDataString(Navigation.Uri)}");
with something like:
var uri = Navigation.Uri;
if (!uri.EndsWith("/")) uri += "/";
Navigation.NavigateTo($"authentication/login?returnUrl={Uri.EscapeDataString(uri)}");
Expected behavior Whether the user adds the trailing slash or not should work.
Desktop: