@using Microsoft.AspNetCore.Components.Routing @using Oqtane.Modules @using Microsoft.JSInterop @using Oqtane.Models @using Oqtane.Services @using Oqtane.Providers @using Oqtane.Shared @inherits ModuleBase @inject IUriHelper UriHelper @inject IJSRuntime jsRuntime @inject IUserService UserService @inject IServiceProvider ServiceProvider ... You are already logged in
@((MarkupString)Message)
 
@code { public override SecurityAccessLevelEnum SecurityAccessLevel { get { return SecurityAccessLevelEnum.Anonymous; } } public string Message { get; set; } = "
Use host/password For Demo Access
"; public string Username { get; set; } = ""; public string Password { get; set; } = ""; public bool Remember { get; set; } = false; private async Task Login() { User user = new User(); user.Username = Username; user.Password = Password; user.IsPersistent = Remember; user = await UserService.LoginUserAsync(user); if (user.IsAuthenticated) { string ReturnUrl = PageState.QueryString["returnurl"]; var authstateprovider = (IdentityAuthenticationStateProvider)ServiceProvider.GetService(typeof(IdentityAuthenticationStateProvider)); if (authstateprovider == null) { // server-side Blazor var interop = new Interop(jsRuntime); string antiforgerytoken = await interop.GetElementByName("__RequestVerificationToken"); var fields = new { __RequestVerificationToken = antiforgerytoken, username = Username, password = Password, remember = Remember, returnurl = ReturnUrl }; await interop.SubmitForm("/login/", fields); } else { // client-side Blazor authstateprovider.NotifyAuthenticationChanged(); UriHelper.NavigateTo(NavigateUrl(ReturnUrl, true)); } } else { Message = "
Login Failed. Please Remember That Passwords Are Case Sensitive.
"; } } private void Cancel() { string ReturnUrl = PageState.QueryString["returnurl"]; UriHelper.NavigateTo(NavigateUrl(ReturnUrl)); } }