Improved page reload efficiency, refactored NavigateUrl and EditUrl helpers, added antiforgery token and returnurl to Logout scenario, fixed PageModule service call api url, modified rendering engine to allow for component differentiation

This commit is contained in:
Shaun Walker
2019-08-02 15:51:47 -04:00
parent 9fbc71b531
commit b9c007998e
23 changed files with 231 additions and 173 deletions

View File

@ -73,7 +73,8 @@ private async Task Login()
{
// client-side Blazor
authstateprovider.NotifyAuthenticationChanged();
UriHelper.NavigateTo(NavigateUrl(ReturnUrl, true));
PageState.Reload = Constants.ReloadPage;
UriHelper.NavigateTo(NavigateUrl(ReturnUrl));
}
}
else
@ -85,6 +86,6 @@ private async Task Login()
private void Cancel()
{
string ReturnUrl = PageState.QueryString["returnurl"];
UriHelper.NavigateTo(NavigateUrl(ReturnUrl));
UriHelper.NavigateTo(ReturnUrl);
}
}

View File

@ -104,6 +104,7 @@
pagemodule.ContainerType = containertype;
await PageModuleService.UpdatePageModuleAsync(pagemodule);
UriHelper.NavigateTo(NavigateUrl(true));
PageState.Reload = Constants.ReloadPage;
UriHelper.NavigateTo(NavigateUrl());
}
}

View File

@ -170,6 +170,7 @@
p.ViewPermissions = viewpermissions;
p.EditPermissions = editpermissions;
await PageService.AddPageAsync(p);
UriHelper.NavigateTo(NavigateUrl(path, true));
PageState.Reload = Constants.ReloadSite;
UriHelper.NavigateTo(NavigateUrl(path));
}
}

View File

@ -157,6 +157,7 @@
private async Task DeletePage()
{
await PageService.DeletePageAsync(Int32.Parse(PageState.QueryString["id"]));
UriHelper.NavigateTo(NavigateUrl("", true));
PageState.Reload = Constants.ReloadSite;
UriHelper.NavigateTo(NavigateUrl());
}
}

View File

@ -16,24 +16,29 @@
<input type="password" name="Password" class="form-control" placeholder="Password" @bind="@Password" />
</div>
<button type="button" class="btn btn-primary" @onclick="@RegisterUser">Register</button>
<NavLink class="btn btn-secondary" href="/">Cancel</NavLink>
<button type="button" class="btn btn-secondary" @onclick="@Cancel">Cancel</button>
</div>
@code {
public override SecurityAccessLevelEnum SecurityAccessLevel { get { return SecurityAccessLevelEnum.Anonymous; } }
public override SecurityAccessLevelEnum SecurityAccessLevel { get { return SecurityAccessLevelEnum.Anonymous; } }
public string Username { get; set; } = "";
public string Password { get; set; } = "";
public string Username { get; set; } = "";
public string Password { get; set; } = "";
private async Task RegisterUser()
{
User user = new User();
user.Username = Username;
user.DisplayName = Username;
user.Roles = "Administrators;";
user.IsSuperUser = false;
user.Password = Password;
await UserService.AddUserAsync(user);
UriHelper.NavigateTo("");
}
private async Task RegisterUser()
{
User user = new User();
user.Username = Username;
user.DisplayName = Username;
user.Roles = "Administrators;";
user.IsSuperUser = false;
user.Password = Password;
await UserService.AddUserAsync(user);
UriHelper.NavigateTo("");
}
private void Cancel()
{
UriHelper.NavigateTo(NavigateUrl("")); // navigate to home
}
}