Multi-tenant role authorization
This commit is contained in:
		| @ -51,20 +51,20 @@ | ||||
|  | ||||
|     private async Task Login() | ||||
|     { | ||||
|         User user = new User(); | ||||
|         user.SiteId = PageState.Site.SiteId; | ||||
|         user.Username = Username; | ||||
|         user.Password = Password; | ||||
|         user.IsPersistent = Remember; | ||||
|         user = await UserService.LoginUserAsync(user); | ||||
|         if (user.IsAuthenticated) | ||||
|         { | ||||
|             string ReturnUrl = PageState.QueryString["returnurl"]; | ||||
|         string ReturnUrl = PageState.QueryString["returnurl"]; | ||||
|  | ||||
|             var authstateprovider = (IdentityAuthenticationStateProvider)ServiceProvider.GetService(typeof(IdentityAuthenticationStateProvider)); | ||||
|             if (authstateprovider == null) | ||||
|         var authstateprovider = (IdentityAuthenticationStateProvider)ServiceProvider.GetService(typeof(IdentityAuthenticationStateProvider)); | ||||
|         if (authstateprovider == null) | ||||
|         { | ||||
|             // server-side Blazor | ||||
|             User user = new User(); | ||||
|             user.SiteId = PageState.Site.SiteId; | ||||
|             user.Username = Username; | ||||
|             user.Password = Password; | ||||
|             user = await UserService.LoginUserAsync(user, false, false); | ||||
|             if (user.IsAuthenticated) | ||||
|             { | ||||
|                 // server-side Blazor | ||||
|                 // complete the login on the server so that the cookies are set correctly on SignalR | ||||
|                 var interop = new Interop(jsRuntime); | ||||
|                 string antiforgerytoken = await interop.GetElementByName("__RequestVerificationToken"); | ||||
|                 var fields = new { __RequestVerificationToken = antiforgerytoken, username = Username, password = Password, remember = Remember, returnurl = ReturnUrl }; | ||||
| @ -72,15 +72,27 @@ | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 // client-side Blazor | ||||
|                 authstateprovider.NotifyAuthenticationChanged(); | ||||
|                 PageState.Reload = Constants.ReloadPage; | ||||
|                 UriHelper.NavigateTo(NavigateUrl(ReturnUrl)); | ||||
|                 Message = "<div class=\"alert alert-danger\" role=\"alert\">Login Failed. Please Remember That Passwords Are Case Sensitive.</div>"; | ||||
|             } | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|             Message = "<div class=\"alert alert-danger\" role=\"alert\">Login Failed. Please Remember That Passwords Are Case Sensitive.</div>"; | ||||
|             // client-side Blazor | ||||
|             User user = new User(); | ||||
|             user.SiteId = PageState.Site.SiteId; | ||||
|             user.Username = Username; | ||||
|             user.Password = Password; | ||||
|             user = await UserService.LoginUserAsync(user, true, Remember); | ||||
|             if (user.IsAuthenticated) | ||||
|             { | ||||
|                 authstateprovider.NotifyAuthenticationChanged(); | ||||
|                 PageState.Reload = Constants.ReloadSite; | ||||
|                 UriHelper.NavigateTo(NavigateUrl(ReturnUrl)); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 Message = "<div class=\"alert alert-danger\" role=\"alert\">Login Failed. Please Remember That Passwords Are Case Sensitive.</div>"; | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|  | ||||
| @ -8,7 +8,7 @@ | ||||
| @inject IPageService PageService | ||||
| @inject IThemeService  ThemeService | ||||
|  | ||||
| @message | ||||
| @((MarkupString)message) | ||||
|  | ||||
| <table class="form-group"> | ||||
|     <tr> | ||||
| @ -144,7 +144,7 @@ | ||||
|         } | ||||
|         catch (Exception ex) | ||||
|         { | ||||
|             message = ex.Message; | ||||
|             message = "<div class=\"alert alert-danger\" role=\"alert\">" + ex.Message + "</div><br /><br />"; | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @ -185,11 +185,18 @@ | ||||
|             await PageService.AddPageAsync(page); | ||||
|  | ||||
|             PageState.Reload = Constants.ReloadSite; | ||||
|             UriHelper.NavigateTo(NavigateUrl(path)); | ||||
|             if (PageState.Page.Name == "Page Management") | ||||
|             { | ||||
|                 UriHelper.NavigateTo(NavigateUrl()); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 UriHelper.NavigateTo(NavigateUrl(path)); | ||||
|             } | ||||
|         } | ||||
|         catch (Exception ex) | ||||
|         { | ||||
|             message = ex.Message; | ||||
|             message = "<div class=\"alert alert-danger\" role=\"alert\">" + ex.Message + "</div><br /><br />"; | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -9,7 +9,7 @@ | ||||
| @inject IPageService PageService | ||||
| @inject IThemeService  ThemeService | ||||
|  | ||||
| @message | ||||
| @((MarkupString)message) | ||||
|  | ||||
| <table class="form-group"> | ||||
|     <tr> | ||||
| @ -116,7 +116,8 @@ | ||||
| </table> | ||||
| <button type="button" class="btn btn-danger" @onclick="@DeletePage">Delete</button> | ||||
| <NavLink class="btn btn-secondary" href="@NavigateUrl()">Cancel</NavLink> | ||||
| <br /><br /> | ||||
| <br /> | ||||
| <br /> | ||||
| <AuditInfo CreatedBy="@createdby" CreatedOn="@createdon" ModifiedBy="@modifiedby" ModifiedOn="@modifiedon"></AuditInfo> | ||||
|  | ||||
| @code { | ||||
| @ -172,7 +173,7 @@ | ||||
|         } | ||||
|         catch (Exception ex) | ||||
|         { | ||||
|             message = ex.Message; | ||||
|             message = "<div class=\"alert alert-danger\" role=\"alert\">" + ex.Message + "</div><br /><br />"; | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @ -182,11 +183,18 @@ | ||||
|         { | ||||
|             await PageService.DeletePageAsync(Int32.Parse(PageState.QueryString["id"])); | ||||
|             PageState.Reload = Constants.ReloadSite; | ||||
|             UriHelper.NavigateTo(NavigateUrl()); | ||||
|             if (PageState.Page.Name == "Page Management") | ||||
|             { | ||||
|                 UriHelper.NavigateTo(NavigateUrl()); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 UriHelper.NavigateTo(NavigateUrl("")); | ||||
|             } | ||||
|         } | ||||
|         catch (Exception ex) | ||||
|         { | ||||
|             message = ex.Message; | ||||
|             message = "<div class=\"alert alert-danger\" role=\"alert\">" + ex.Message + "</div><br /><br />"; | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -9,7 +9,7 @@ | ||||
| @inject IPageService PageService | ||||
| @inject IThemeService  ThemeService | ||||
|  | ||||
| @message | ||||
| @((MarkupString)message) | ||||
|  | ||||
| <table class="form-group"> | ||||
|     <tr> | ||||
| @ -116,7 +116,8 @@ | ||||
| </table> | ||||
| <button type="button" class="btn btn-success" @onclick="@SavePage">Save</button> | ||||
| <NavLink class="btn btn-secondary" href="@NavigateUrl()">Cancel</NavLink> | ||||
| <br /><br /> | ||||
| <br /> | ||||
| <br /> | ||||
| <AuditInfo CreatedBy="@createdby" CreatedOn="@createdon" ModifiedBy="@modifiedby" ModifiedOn="@modifiedon"></AuditInfo> | ||||
|  | ||||
| @code { | ||||
| @ -179,7 +180,7 @@ | ||||
|         } | ||||
|         catch (Exception ex) | ||||
|         { | ||||
|             message = ex.Message; | ||||
|             message = "<div class=\"alert alert-danger\" role=\"alert\">" + ex.Message + "</div><br /><br />"; | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @ -220,11 +221,18 @@ | ||||
|             await PageService.UpdatePageAsync(page); | ||||
|  | ||||
|             PageState.Reload = Constants.ReloadSite; | ||||
|             UriHelper.NavigateTo(NavigateUrl(path)); | ||||
|             if (PageState.Page.Name == "Page Management") | ||||
|             { | ||||
|                 UriHelper.NavigateTo(NavigateUrl()); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 UriHelper.NavigateTo(NavigateUrl(path)); | ||||
|             } | ||||
|         } | ||||
|         catch (Exception ex) | ||||
|         { | ||||
|             message = ex.Message; | ||||
|             message = "<div class=\"alert alert-danger\" role=\"alert\">" + ex.Message + "</div><br /><br />"; | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -20,7 +20,6 @@ | ||||
|     public string Style { get; set; } | ||||
|  | ||||
|     string text = ""; | ||||
|     string style = ""; | ||||
|  | ||||
|     protected override void OnInitialized() | ||||
|     { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Shaun Walker
					Shaun Walker