Merge remote-tracking branch 'oqtane/dev' into dev

This commit is contained in:
Leigh Pointer
2023-03-11 22:41:21 +01:00
4 changed files with 34 additions and 17 deletions

View File

@ -135,11 +135,13 @@ namespace Oqtane.Services
{ {
var dictionary = new Dictionary<string, string>(); var dictionary = new Dictionary<string, string>();
var settings = await GetJsonAsync<List<Setting>>($"{Apiurl}?entityname={entityName}&entityid={entityId}"); var settings = await GetJsonAsync<List<Setting>>($"{Apiurl}?entityname={entityName}&entityid={entityId}");
if (settings != null)
{
foreach (Setting setting in settings.OrderBy(item => item.SettingName).ToList()) foreach (Setting setting in settings.OrderBy(item => item.SettingName).ToList())
{ {
dictionary.Add(setting.SettingName, setting.SettingValue); dictionary.Add(setting.SettingName, setting.SettingValue);
} }
}
return dictionary; return dictionary;
} }

View File

@ -478,7 +478,7 @@
PageState.EditMode = true; PageState.EditMode = true;
} }
NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "1" : "0"))); NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "true" : "false")));
} }
else else
{ {
@ -486,7 +486,7 @@
{ {
await PageService.AddPageAsync(PageState.Page.PageId, PageState.User.UserId); await PageService.AddPageAsync(PageState.Page.PageId, PageState.User.UserId);
PageState.EditMode = true; PageState.EditMode = true;
NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "1" : "0"))); NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, "edit=" + ((PageState.EditMode) ? "true" : "false")));
} }
} }
} }

View File

@ -433,16 +433,18 @@ namespace Oqtane.Extensions
{ {
var _settings = httpContext.RequestServices.GetRequiredService<ISettingRepository>(); var _settings = httpContext.RequestServices.GetRequiredService<ISettingRepository>();
var _profiles = httpContext.RequestServices.GetRequiredService<IProfileRepository>(); var _profiles = httpContext.RequestServices.GetRequiredService<IProfileRepository>();
var profiles = _profiles.GetProfiles(user.SiteId); var profiles = _profiles.GetProfiles(alias.SiteId).ToList();
foreach (var mapping in httpContext.GetSiteSettings().GetValue("ExternalLogin:ProfileClaimTypes", "").Split(',', StringSplitOptions.RemoveEmptyEntries)) foreach (var mapping in httpContext.GetSiteSettings().GetValue("ExternalLogin:ProfileClaimTypes", "").Split(',', StringSplitOptions.RemoveEmptyEntries))
{ {
if (mapping.Contains(":")) if (mapping.Contains(":"))
{ {
var claim = claimsPrincipal.Claims.FirstOrDefault(item => item.Type == mapping.Split(":")[0]); var claim = claimsPrincipal.Claims.FirstOrDefault(item => item.Type == mapping.Split(":")[0]);
if (claim != null && !string.IsNullOrEmpty(claim.Value)) if (claim != null)
{ {
var profile = profiles.FirstOrDefault(item => item.Name == mapping.Split(":")[1]); var profile = profiles.FirstOrDefault(item => item.Name == mapping.Split(":")[1]);
if (profile != null) if (profile != null)
{
if (!string.IsNullOrEmpty(claim.Value))
{ {
var setting = _settings.GetSetting(EntityNames.User, user.UserId, profile.Name); var setting = _settings.GetSetting(EntityNames.User, user.UserId, profile.Name);
if (setting != null) if (setting != null)
@ -457,6 +459,19 @@ namespace Oqtane.Extensions
} }
} }
} }
else
{
_logger.Log(LogLevel.Error, "ExternalLogin", Enums.LogFunction.Security, "The User Profile {ProfileName} Does Not Exist For The Site. Please Verify Your User Profile Definitions.", mapping.Split(":")[1]);
}
}
else
{
_logger.Log(LogLevel.Error, "ExternalLogin", Enums.LogFunction.Security, "The User Profile Claim {ClaimType} Does Not Exist. The Valid Claims Are {Claims}.", mapping.Split(":")[0], claims);
}
}
else
{
_logger.Log(LogLevel.Error, "ExternalLogin", Enums.LogFunction.Security, "The User Profile Claim Mapping {Mapping} Is Not Specified Correctly. It Should Be In The Format 'ClaimType:ProfileName'.", mapping);
} }
} }
} }

View File

@ -48,7 +48,7 @@ namespace Oqtane.Pages
var pageModules = _pageModules.GetPageModules(_alias.SiteId); var pageModules = _pageModules.GetPageModules(_alias.SiteId);
foreach (var page in _pages.GetPages(_alias.SiteId)) foreach (var page in _pages.GetPages(_alias.SiteId))
{ {
if (_userPermissions.IsAuthorized(null, PermissionNames.View, page.PermissionList)) if (_userPermissions.IsAuthorized(null, PermissionNames.View, page.PermissionList) && page.IsNavigation)
{ {
sitemap.Add(new Sitemap { Url = _alias.Protocol + _alias.Name + Utilities.NavigateUrl(_alias.Path, page.Path, ""), ModifiedOn = page.ModifiedOn }); sitemap.Add(new Sitemap { Url = _alias.Protocol + _alias.Name + Utilities.NavigateUrl(_alias.Path, page.Path, ""), ModifiedOn = page.ModifiedOn });