@@ -144,7 +144,7 @@
}
@foreach (var moduledefinition in _moduleDefinitions)
{
- if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Utilize, moduledefinition.Permissions))
+ if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Utilize, moduledefinition.PermissionList))
{
if (moduledefinition.Runtimes == "" || moduledefinition.Runtimes.Contains(PageState.Runtime.ToString()))
{
@@ -294,14 +294,14 @@
{
_canViewAdminDashboard = CanViewAdminDashboard();
_showEditMode = false;
- if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions))
+ if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList))
{
_showEditMode = true;
_pages?.Clear();
foreach (Page p in PageState.Pages)
{
- if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.Permissions))
+ if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.PermissionList))
{
_pages.Add(p);
}
@@ -319,7 +319,7 @@
{
foreach (var module in PageState.Modules.Where(item => item.PageId == PageState.Page.PageId))
{
- if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, module.Permissions))
+ if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, module.PermissionList))
{
_showEditMode = true;
break;
@@ -335,7 +335,7 @@
{
foreach (var page in PageState.Pages.Where(item => item.ParentId == admin?.PageId))
{
- if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, page.Permissions))
+ if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, page.PermissionList))
{
return true;
}
@@ -371,7 +371,7 @@
{
_modules = PageState.Modules
.Where(module => module.PageId == int.Parse(PageId) &&
- UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.Permissions))
+ UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.PermissionList))
.ToList();
}
ModuleId = "-";
@@ -380,7 +380,7 @@
private async Task AddModule()
{
- if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions))
+ if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList))
{
if ((ModuleType == "new" && ModuleDefinitionName != "-") || (ModuleType != "new" && ModuleId != "-"))
{
@@ -405,7 +405,7 @@
}
// set module edit permissions to page edit permissions
permissions = SetPermissions(permissions, module.SiteId, PermissionNames.Edit, PermissionNames.Edit);
- module.Permissions = permissions;
+ module.PermissionList = permissions;
module = await ModuleService.AddModuleAsync(module);
ModuleId = module.ModuleId.ToString();
@@ -458,7 +458,7 @@
private List
SetPermissions(List permissions, int siteId, string modulePermission, string pagePermission)
{
- foreach (var permission in PageState.Page.Permissions.Where(item => item.PermissionName == pagePermission))
+ foreach (var permission in PageState.Page.PermissionList.Where(item => item.PermissionName == pagePermission))
{
permissions.Add(new Permission { SiteId = siteId, EntityName = EntityNames.Module, PermissionName = modulePermission, RoleId = permission.RoleId, UserId = permission.UserId, IsAuthorized = permission.IsAuthorized });
}
@@ -534,9 +534,9 @@
private async void Publish(string action)
{
- if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions))
+ if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList))
{
- var permissions = PageState.Page.Permissions;
+ var permissions = PageState.Page.PermissionList;
if (!permissions.Any(item => item.PermissionName == PermissionNames.View && item.Role.Name == RoleNames.Everyone))
{
permissions.Add(new Permission(EntityNames.Page, PageState.Page.PageId, PermissionNames.View, RoleNames.Everyone, null, true));
@@ -545,7 +545,7 @@
{
permissions.Add(new Permission(EntityNames.Page, PageState.Page.PageId, PermissionNames.View, RoleNames.Registered, null, true));
}
- PageState.Page.Permissions = permissions;
+ PageState.Page.PermissionList = permissions;
await PageService.UpdatePageAsync(PageState.Page);
NavigationManager.NavigateTo(NavigateUrl(PageState.Page.Path, true));
}
diff --git a/Oqtane.Client/Themes/Controls/Theme/LoginBase.cs b/Oqtane.Client/Themes/Controls/Theme/LoginBase.cs
index 9c0f2192..a8f3aa47 100644
--- a/Oqtane.Client/Themes/Controls/Theme/LoginBase.cs
+++ b/Oqtane.Client/Themes/Controls/Theme/LoginBase.cs
@@ -36,7 +36,7 @@ namespace Oqtane.Themes.Controls
var url = route.PathAndQuery;
// verify if anonymous users can access page
- if (!UserSecurity.IsAuthorized(null, PermissionNames.View, PageState.Page.Permissions))
+ if (!UserSecurity.IsAuthorized(null, PermissionNames.View, PageState.Page.PermissionList))
{
url = PageState.Alias.Path;
}
diff --git a/Oqtane.Client/Themes/Controls/Theme/MenuBase.cs b/Oqtane.Client/Themes/Controls/Theme/MenuBase.cs
index b98d11be..689b7a04 100644
--- a/Oqtane.Client/Themes/Controls/Theme/MenuBase.cs
+++ b/Oqtane.Client/Themes/Controls/Theme/MenuBase.cs
@@ -32,7 +32,7 @@ namespace Oqtane.Themes.Controls
var securityLevel = int.MaxValue;
foreach (Page p in PageState.Pages.Where(item => item.IsNavigation))
{
- if (p.Level <= securityLevel && UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.Permissions))
+ if (p.Level <= securityLevel && UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.PermissionList))
{
securityLevel = int.MaxValue;
yield return p;
diff --git a/Oqtane.Client/UI/ContainerBuilder.razor b/Oqtane.Client/UI/ContainerBuilder.razor
index 436dbb9d..e2851298 100644
--- a/Oqtane.Client/UI/ContainerBuilder.razor
+++ b/Oqtane.Client/UI/ContainerBuilder.razor
@@ -43,7 +43,7 @@
container = (!string.IsNullOrEmpty(PageState.Site.AdminContainerType)) ? PageState.Site.AdminContainerType : Constants.DefaultAdminContainer;
}
- if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions) && PageState.Action == Constants.DefaultAction)
+ if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList) && PageState.Action == Constants.DefaultAction)
{
_useadminborder = true;
}
diff --git a/Oqtane.Client/UI/Pane.razor b/Oqtane.Client/UI/Pane.razor
index 16d0223d..d9f4f299 100644
--- a/Oqtane.Client/UI/Pane.razor
+++ b/Oqtane.Client/UI/Pane.razor
@@ -30,7 +30,7 @@ else
protected override void OnParametersSet()
{
- if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions) && PageState.Action == Constants.DefaultAction)
+ if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList) && PageState.Action == Constants.DefaultAction)
{
_useadminborder = true;
_panetitle = "" + Name + " Pane
";
@@ -67,7 +67,7 @@ else
bool authorized = false;
if (Constants.DefaultModuleActions.Contains(PageState.Action))
{
- authorized = UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.Permissions);
+ authorized = UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList);
}
else
{
@@ -77,10 +77,10 @@ else
authorized = true;
break;
case SecurityAccessLevel.View:
- authorized = UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.Permissions);
+ authorized = UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.PermissionList);
break;
case SecurityAccessLevel.Edit:
- authorized = UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, module.Permissions);
+ authorized = UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, module.PermissionList);
break;
case SecurityAccessLevel.Admin:
authorized = UserSecurity.IsAuthorized(PageState.User, RoleNames.Admin);
@@ -111,7 +111,7 @@ else
if (module != null && module.Pane.ToLower() == Name.ToLower())
{
// check if user is authorized to view module
- if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.Permissions))
+ if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.PermissionList))
{
CreateComponent(builder, module);
}
@@ -122,7 +122,7 @@ else
foreach (Module module in PageState.Modules.Where(item => item.PageId == PageState.Page.PageId && item.Pane.ToLower() == Name.ToLower()).OrderBy(x => x.Order).ToArray())
{
// check if user is authorized to view module
- if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.Permissions))
+ if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.PermissionList))
{
CreateComponent(builder, module);
}
diff --git a/Oqtane.Client/UI/SiteRouter.razor b/Oqtane.Client/UI/SiteRouter.razor
index 5545758b..9bcdc3a4 100644
--- a/Oqtane.Client/UI/SiteRouter.razor
+++ b/Oqtane.Client/UI/SiteRouter.razor
@@ -204,7 +204,7 @@
if (page != null)
{
// check if user is authorized to view page
- if (UserSecurity.IsAuthorized(user, PermissionNames.View, page.Permissions))
+ if (UserSecurity.IsAuthorized(user, PermissionNames.View, page.PermissionList))
{
// load additional metadata for current page
page = await ProcessPage(page, site, user);
diff --git a/Oqtane.Server/Controllers/FileController.cs b/Oqtane.Server/Controllers/FileController.cs
index 5473b154..30cbab26 100644
--- a/Oqtane.Server/Controllers/FileController.cs
+++ b/Oqtane.Server/Controllers/FileController.cs
@@ -56,7 +56,7 @@ namespace Oqtane.Controllers
if (int.TryParse(folder, out folderid))
{
Folder Folder = _folders.GetFolder(folderid);
- if (Folder != null && Folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.Browse, Folder.Permissions))
+ if (Folder != null && Folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.Browse, Folder.PermissionList))
{
files = _files.GetFiles(folderid).ToList();
}
@@ -98,7 +98,7 @@ namespace Oqtane.Controllers
List files;
Folder folder = _folders.GetFolder(siteId, WebUtility.UrlDecode(path));
- if (folder != null && folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.Browse, folder.Permissions))
+ if (folder != null && folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.Browse, folder.PermissionList))
{
files = _files.GetFiles(folder.FolderId).ToList();
}
@@ -117,7 +117,7 @@ namespace Oqtane.Controllers
public Models.File Get(int id)
{
Models.File file = _files.GetFile(id);
- if (file != null && file.Folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, file.Folder.Permissions))
+ if (file != null && file.Folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, file.Folder.PermissionList))
{
return file;
}
@@ -215,7 +215,7 @@ namespace Oqtane.Controllers
folder = _folders.GetFolder(FolderId);
}
- if (folder != null && folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.Edit, folder.Permissions))
+ if (folder != null && folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.Edit, folder.PermissionList))
{
string folderPath = _folders.GetFolderPath(folder);
CreateDirectory(folderPath);
@@ -310,7 +310,7 @@ namespace Oqtane.Controllers
if (int.TryParse(folder, out FolderId))
{
Folder Folder = _folders.GetFolder(FolderId);
- if (Folder != null && Folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.Edit, Folder.Permissions))
+ if (Folder != null && Folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.Edit, Folder.PermissionList))
{
folderPath = _folders.GetFolderPath(Folder);
}
@@ -497,7 +497,7 @@ namespace Oqtane.Controllers
private IActionResult Download(int id, bool asAttachment)
{
var file = _files.GetFile(id);
- if (file != null && file.Folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, file.Folder.Permissions))
+ if (file != null && file.Folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, file.Folder.PermissionList))
{
var filepath = _files.GetFilePath(file);
if (System.IO.File.Exists(filepath))
@@ -532,7 +532,7 @@ namespace Oqtane.Controllers
public IActionResult GetImage(int id, int width, int height, string mode, string position, string background, string rotate, string recreate)
{
var file = _files.GetFile(id);
- if (file != null && file.Folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, file.Folder.Permissions))
+ if (file != null && file.Folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, file.Folder.PermissionList))
{
if (Constants.ImageFiles.Split(',').Contains(file.Extension.ToLower()))
{
@@ -550,7 +550,7 @@ namespace Oqtane.Controllers
string imagepath = filepath.Replace(Path.GetExtension(filepath), "." + width.ToString() + "x" + height.ToString() + ".png");
if (!System.IO.File.Exists(imagepath) || bool.Parse(recreate))
{
- if ((_userPermissions.IsAuthorized(User, PermissionNames.Edit, file.Folder.Permissions) ||
+ if ((_userPermissions.IsAuthorized(User, PermissionNames.Edit, file.Folder.PermissionList) ||
!string.IsNullOrEmpty(file.Folder.ImageSizes) && file.Folder.ImageSizes.ToLower().Split(",").Contains(width.ToString() + "x" + height.ToString())))
{
imagepath = CreateImage(filepath, width, height, mode, position, background, rotate, imagepath);
diff --git a/Oqtane.Server/Controllers/FolderController.cs b/Oqtane.Server/Controllers/FolderController.cs
index 445d41c5..8c805e5e 100644
--- a/Oqtane.Server/Controllers/FolderController.cs
+++ b/Oqtane.Server/Controllers/FolderController.cs
@@ -43,7 +43,7 @@ namespace Oqtane.Controllers
{
foreach (Folder folder in _folders.GetFolders(SiteId))
{
- if (_userPermissions.IsAuthorized(User, PermissionNames.Browse, folder.Permissions))
+ if (_userPermissions.IsAuthorized(User, PermissionNames.Browse, folder.PermissionList))
{
folders.Add(folder);
}
@@ -64,7 +64,7 @@ namespace Oqtane.Controllers
public Folder Get(int id)
{
Folder folder = _folders.GetFolder(id);
- if (folder != null && folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.Browse, folder.Permissions))
+ if (folder != null && folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.Browse, folder.PermissionList))
{
return folder;
}
@@ -85,7 +85,7 @@ namespace Oqtane.Controllers
folderPath += "/";
}
Folder folder = _folders.GetFolder(siteId, folderPath);
- if (folder != null && folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.Browse, folder.Permissions))
+ if (folder != null && folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.Browse, folder.PermissionList))
{
return folder;
}
@@ -107,13 +107,13 @@ namespace Oqtane.Controllers
List permissions;
if (folder.ParentId != null)
{
- permissions = _folders.GetFolder(folder.ParentId.Value).Permissions;
+ permissions = _folders.GetFolder(folder.ParentId.Value).PermissionList;
}
else
{
permissions = new List {
new Permission(PermissionNames.Edit, RoleNames.Admin, true),
- }.EncodePermissions();
+ };
}
if (_userPermissions.IsAuthorized(User, PermissionNames.Edit, permissions))
{
diff --git a/Oqtane.Server/Controllers/ModuleController.cs b/Oqtane.Server/Controllers/ModuleController.cs
index e292ef35..2e7c9274 100644
--- a/Oqtane.Server/Controllers/ModuleController.cs
+++ b/Oqtane.Server/Controllers/ModuleController.cs
@@ -51,13 +51,13 @@ namespace Oqtane.Controllers
foreach (PageModule pagemodule in _pageModules.GetPageModules(SiteId))
{
- if (_userPermissions.IsAuthorized(User, PermissionNames.View, pagemodule.Module.Permissions))
+ if (_userPermissions.IsAuthorized(User, PermissionNames.View, pagemodule.Module.PermissionList))
{
Module module = new Module();
module.SiteId = pagemodule.Module.SiteId;
module.ModuleDefinitionName = pagemodule.Module.ModuleDefinitionName;
module.AllPages = pagemodule.Module.AllPages;
- module.Permissions = pagemodule.Module.Permissions;
+ module.PermissionList = pagemodule.Module.PermissionList;
module.CreatedBy = pagemodule.Module.CreatedBy;
module.CreatedOn = pagemodule.Module.CreatedOn;
module.ModifiedBy = pagemodule.Module.ModifiedBy;
@@ -75,7 +75,7 @@ namespace Oqtane.Controllers
module.ContainerType = pagemodule.ContainerType;
module.Settings = settings.Where(item => item.EntityId == pagemodule.ModuleId)
- .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, pagemodule.Module.Permissions))
+ .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, pagemodule.Module.PermissionList))
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);
modules.Add(module);
@@ -97,12 +97,12 @@ namespace Oqtane.Controllers
public Module Get(int id)
{
Module module = _modules.GetModule(id);
- if (module != null && module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User,PermissionNames.View, module.Permissions))
+ if (module != null && module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User,PermissionNames.View, module.PermissionList))
{
List moduledefinitions = _moduleDefinitions.GetModuleDefinitions(module.SiteId).ToList();
module.ModuleDefinition = moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName);
module.Settings = _settings.GetSettings(EntityNames.Module, id)
- .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, module.Permissions))
+ .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, module.PermissionList))
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);
return module;
}
diff --git a/Oqtane.Server/Controllers/ModuleDefinitionController.cs b/Oqtane.Server/Controllers/ModuleDefinitionController.cs
index 2c8a31bd..bdfb1637 100644
--- a/Oqtane.Server/Controllers/ModuleDefinitionController.cs
+++ b/Oqtane.Server/Controllers/ModuleDefinitionController.cs
@@ -63,7 +63,7 @@ namespace Oqtane.Controllers
List moduledefinitions = new List();
foreach (ModuleDefinition moduledefinition in _moduleDefinitions.GetModuleDefinitions(SiteId))
{
- if (_userPermissions.IsAuthorized(User, PermissionNames.Utilize, moduledefinition.Permissions))
+ if (_userPermissions.IsAuthorized(User, PermissionNames.Utilize, moduledefinition.PermissionList))
{
if (string.IsNullOrEmpty(moduledefinition.Version)) moduledefinition.Version = new Version(1, 0, 0).ToString();
moduledefinitions.Add(moduledefinition);
@@ -87,7 +87,7 @@ namespace Oqtane.Controllers
if (int.TryParse(siteid, out SiteId) && SiteId == _alias.SiteId)
{
ModuleDefinition moduledefinition = _moduleDefinitions.GetModuleDefinition(id, SiteId);
- if (_userPermissions.IsAuthorized(User, PermissionNames.Utilize, moduledefinition.Permissions))
+ if (_userPermissions.IsAuthorized(User, PermissionNames.Utilize, moduledefinition.PermissionList))
{
if (string.IsNullOrEmpty(moduledefinition.Version)) moduledefinition.Version = new Version(1, 0, 0).ToString();
return moduledefinition;
diff --git a/Oqtane.Server/Controllers/PageController.cs b/Oqtane.Server/Controllers/PageController.cs
index fd12234e..6cd04054 100644
--- a/Oqtane.Server/Controllers/PageController.cs
+++ b/Oqtane.Server/Controllers/PageController.cs
@@ -54,10 +54,10 @@ namespace Oqtane.Controllers
foreach (Page page in _pages.GetPages(SiteId))
{
- if (_userPermissions.IsAuthorized(User, PermissionNames.View, page.Permissions))
+ if (_userPermissions.IsAuthorized(User, PermissionNames.View, page.PermissionList))
{
page.Settings = settings.Where(item => item.EntityId == page.PageId)
- .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, page.Permissions))
+ .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, page.PermissionList))
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);
pages.Add(page);
}
@@ -86,10 +86,10 @@ namespace Oqtane.Controllers
{
page = _pages.GetPage(id, int.Parse(userid));
}
- if (page != null && page.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User,PermissionNames.View, page.Permissions))
+ if (page != null && page.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User,PermissionNames.View, page.PermissionList))
{
page.Settings = _settings.GetSettings(EntityNames.Page, page.PageId)
- .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, page.Permissions))
+ .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, page.PermissionList))
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);
return page;
}
@@ -106,10 +106,10 @@ namespace Oqtane.Controllers
public Page Get(string path, int siteid)
{
Page page = _pages.GetPage(WebUtility.UrlDecode(path), siteid);
- if (page != null && page.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, page.Permissions))
+ if (page != null && page.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, page.PermissionList))
{
page.Settings = _settings.GetSettings(EntityNames.Page, page.PageId)
- .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, page.Permissions))
+ .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, page.PermissionList))
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);
return page;
}
@@ -131,13 +131,13 @@ namespace Oqtane.Controllers
List permissions;
if (page.ParentId != null)
{
- permissions = _pages.GetPage(page.ParentId.Value).Permissions;
+ permissions = _pages.GetPage(page.ParentId.Value).PermissionList;
}
else
{
permissions = new List {
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions();
+ };
}
if (_userPermissions.IsAuthorized(User,PermissionNames.Edit, permissions))
@@ -194,10 +194,10 @@ namespace Oqtane.Controllers
page.ThemeType = parent.ThemeType;
page.DefaultContainerType = parent.DefaultContainerType;
page.Icon = parent.Icon;
- page.Permissions = new List {
+ page.PermissionList = new List {
new Permission(PermissionNames.View, int.Parse(userid), true),
new Permission(PermissionNames.Edit, int.Parse(userid), true)
- }.EncodePermissions();
+ };
page.IsPersonalizable = false;
page.UserId = int.Parse(userid);
page = _pages.AddPage(page);
@@ -213,10 +213,10 @@ namespace Oqtane.Controllers
module.PageId = page.PageId;
module.ModuleDefinitionName = pm.Module.ModuleDefinitionName;
module.AllPages = false;
- module.Permissions = new List {
+ module.PermissionList = new List {
new Permission(PermissionNames.View, int.Parse(userid), true),
new Permission(PermissionNames.Edit, int.Parse(userid), true)
- }.EncodePermissions();
+ };
module = _modules.AddModule(module);
string content = _modules.ExportModule(pm.ModuleId);
@@ -274,8 +274,8 @@ namespace Oqtane.Controllers
}
// get differences between current and new page permissions
- var added = GetPermissionsDifferences(page.Permissions, currentPermissions);
- var removed = GetPermissionsDifferences(currentPermissions, page.Permissions);
+ var added = GetPermissionsDifferences(page.PermissionList, currentPermissions);
+ var removed = GetPermissionsDifferences(currentPermissions, page.PermissionList);
// synchronize module permissions
if (added.Count > 0 || removed.Count > 0)
diff --git a/Oqtane.Server/Controllers/PageModuleController.cs b/Oqtane.Server/Controllers/PageModuleController.cs
index 86a949f3..c5b94e6d 100644
--- a/Oqtane.Server/Controllers/PageModuleController.cs
+++ b/Oqtane.Server/Controllers/PageModuleController.cs
@@ -38,7 +38,7 @@ namespace Oqtane.Controllers
public PageModule Get(int id)
{
PageModule pagemodule = _pageModules.GetPageModule(id);
- if (pagemodule != null && pagemodule.Module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, pagemodule.Module.Permissions))
+ if (pagemodule != null && pagemodule.Module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, pagemodule.Module.PermissionList))
{
return pagemodule;
}
@@ -55,7 +55,7 @@ namespace Oqtane.Controllers
public PageModule Get(int pageid, int moduleid)
{
PageModule pagemodule = _pageModules.GetPageModule(pageid, moduleid);
- if (pagemodule != null && pagemodule.Module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, pagemodule.Module.Permissions))
+ if (pagemodule != null && pagemodule.Module.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, pagemodule.Module.PermissionList))
{
return pagemodule;
}
diff --git a/Oqtane.Server/Controllers/SiteController.cs b/Oqtane.Server/Controllers/SiteController.cs
index eb3d6ed1..b81dfb97 100644
--- a/Oqtane.Server/Controllers/SiteController.cs
+++ b/Oqtane.Server/Controllers/SiteController.cs
@@ -89,10 +89,10 @@ namespace Oqtane.Controllers
site.Pages = new List();
foreach (Page page in _pages.GetPages(site.SiteId))
{
- if (_userPermissions.IsAuthorized(User, PermissionNames.View, page.Permissions))
+ if (_userPermissions.IsAuthorized(User, PermissionNames.View, page.PermissionList))
{
page.Settings = settings.Where(item => item.EntityId == page.PageId)
- .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, page.Permissions))
+ .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, page.PermissionList))
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);
site.Pages.Add(page);
}
@@ -105,13 +105,13 @@ namespace Oqtane.Controllers
site.Modules = new List();
foreach (PageModule pagemodule in _pageModules.GetPageModules(site.SiteId))
{
- if (_userPermissions.IsAuthorized(User, PermissionNames.View, pagemodule.Module.Permissions))
+ if (_userPermissions.IsAuthorized(User, PermissionNames.View, pagemodule.Module.PermissionList))
{
Module module = new Module();
module.SiteId = pagemodule.Module.SiteId;
module.ModuleDefinitionName = pagemodule.Module.ModuleDefinitionName;
module.AllPages = pagemodule.Module.AllPages;
- module.Permissions = pagemodule.Module.Permissions;
+ module.PermissionList = pagemodule.Module.PermissionList;
module.CreatedBy = pagemodule.Module.CreatedBy;
module.CreatedOn = pagemodule.Module.CreatedOn;
module.ModifiedBy = pagemodule.Module.ModifiedBy;
@@ -130,7 +130,7 @@ namespace Oqtane.Controllers
module.ModuleDefinition = moduledefinitions.Find(item => item.ModuleDefinitionName == module.ModuleDefinitionName);
module.Settings = settings.Where(item => item.EntityId == pagemodule.ModuleId)
- .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, pagemodule.Module.Permissions))
+ .Where(item => !item.IsPrivate || _userPermissions.IsAuthorized(User, PermissionNames.Edit, pagemodule.Module.PermissionList))
.ToDictionary(setting => setting.SettingName, setting => setting.SettingValue);
site.Modules.Add(module);
diff --git a/Oqtane.Server/Extensions/PermissionExtension.cs b/Oqtane.Server/Extensions/PermissionExtension.cs
index bc2c4705..5f963f65 100644
--- a/Oqtane.Server/Extensions/PermissionExtension.cs
+++ b/Oqtane.Server/Extensions/PermissionExtension.cs
@@ -1,14 +1,15 @@
using System.Collections.Generic;
using System.Linq;
+using System.Text.Json;
using Oqtane.Models;
namespace Oqtane.Extensions
{
public static class PermissionExtension
{
- public static List EncodePermissions(this IEnumerable permissionList)
+ public static string EncodePermissions(this IEnumerable permissions)
{
- return permissionList.ToList();
+ return JsonSerializer.Serialize(permissions);
}
}
}
diff --git a/Oqtane.Server/Infrastructure/SiteTemplates/DefaultSiteTemplate.cs b/Oqtane.Server/Infrastructure/SiteTemplates/DefaultSiteTemplate.cs
index a63773ba..9df850ea 100644
--- a/Oqtane.Server/Infrastructure/SiteTemplates/DefaultSiteTemplate.cs
+++ b/Oqtane.Server/Infrastructure/SiteTemplates/DefaultSiteTemplate.cs
@@ -45,40 +45,40 @@ namespace Oqtane.SiteTemplates
Icon = "oi oi-home",
IsNavigation = true,
IsPersonalizable = false,
- PagePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions() ,
+ },
PageTemplateModules = new List {
new PageTemplateModule { ModuleDefinitionName = "Oqtane.Modules.HtmlText, Oqtane.Client", Title = "Welcome To Oqtane...", Pane = PaneNames.Default,
- ModulePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = "Oqtane is an open source modular application framework that provides advanced functionality for developing web, mobile, and desktop applications on .NET Core. It leverages the Blazor component model to compose a fully dynamic web development experience which can be hosted either client-side or server-side. Whether you are looking for a platform to accelerate your web development efforts, or simply interested in exploring the anatomy of a large-scale Blazor application, Oqtane provides a solid foundation based on proven enterprise architectural principles.
" +
"
Join Our Community Clone Our Repo
" +
"Blazor is an open source and cross-platform web UI framework for building single-page applications using .NET and C#. Blazor applications can be hosted in a variety of ways. Blazor Server uses SignalR (WebSockets) to host your application on a web server and provide a responsive and robust development experience. Blazor WebAssembly relies on Wasm, an open web standard that does not require plugins in order for applications to run natively in a web browser. Blazor Hybrid is part of .NET MAUI and uses a Web View to render components natively on mobile and desktop devices. Razor components can be used with all of the hosting models without any modification.
" +
"Blazor is a feature of .NET Core, the popular cross platform web development framework from Microsoft that extends the .NET developer platform with tools and libraries for building web apps.
"
},
new PageTemplateModule { ModuleDefinitionName = "Oqtane.Modules.HtmlText, Oqtane.Client", Title = "MIT License", Pane = PaneNames.Default,
- ModulePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = "Copyright (c) 2018-2023 .NET Foundation
" +
"Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
" +
"The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
" +
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
"
},
new PageTemplateModule { ModuleDefinitionName = "Oqtane.Modules.HtmlText, Oqtane.Client", Title = "Secure Content", Pane = PaneNames.Default,
- ModulePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Registered, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = "Oqtane allows you to control access to your content using security roles. This module is only visible to Registered Users of the site.
"
}
}
@@ -92,18 +92,18 @@ namespace Oqtane.SiteTemplates
Icon = "oi oi-lock-locked",
IsNavigation = true,
IsPersonalizable = false,
- PagePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Registered, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List {
new PageTemplateModule { ModuleDefinitionName = "Oqtane.Modules.HtmlText, Oqtane.Client", Title = "Secure Content", Pane = PaneNames.Default,
- ModulePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Registered, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = "Oqtane allows you to control access to your content using security roles. This page is only visible to Registered Users of the site.
"
}
}
@@ -117,18 +117,18 @@ namespace Oqtane.SiteTemplates
Icon = "oi oi-target",
IsNavigation = true,
IsPersonalizable = true,
- PagePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List {
new PageTemplateModule { ModuleDefinitionName = "Oqtane.Modules.HtmlText, Oqtane.Client", Title = "My Page", Pane = PaneNames.Default,
- ModulePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = "Oqtane offers native support for user personalized pages. If a page is identified as personalizable by the site administrator in the page settings, when an authenticated user visits the page they will see an edit button at the top right corner of the page next to their username. When they click this button the sytem will create a new version of the page and allow them to edit the page content.
"
}
}
@@ -142,23 +142,23 @@ namespace Oqtane.SiteTemplates
Icon = "oi oi-wrench",
IsNavigation = true,
IsPersonalizable = true,
- PagePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List {
new PageTemplateModule { ModuleDefinitionName = "Oqtane.Modules.HtmlText, Oqtane.Client", Title = "Software Development", Pane = PaneNames.Default,
- ModulePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
Content = "Oqtane offers a Module Creator which allows you to create new modules to extend the framework with additional capabilities. Simply provide some basic information and the system will scaffold a completely functional module which includes all of the necessary code files and assets to get you up and running as quickly as possible.
"
},
new PageTemplateModule { ModuleDefinitionName = "Oqtane.Modules.Admin.ModuleCreator, Oqtane.Client", Title = "Module Creator", Pane = PaneNames.Default,
- ModulePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions()
+ }
}
}
});
diff --git a/Oqtane.Server/Infrastructure/SiteTemplates/EmptySiteTemplate.cs b/Oqtane.Server/Infrastructure/SiteTemplates/EmptySiteTemplate.cs
index c5aa907d..4f03604c 100644
--- a/Oqtane.Server/Infrastructure/SiteTemplates/EmptySiteTemplate.cs
+++ b/Oqtane.Server/Infrastructure/SiteTemplates/EmptySiteTemplate.cs
@@ -32,11 +32,11 @@ namespace Oqtane.SiteTemplates
Icon = "oi oi-home",
IsNavigation = true,
IsPersonalizable = false,
- PagePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List()
});
diff --git a/Oqtane.Server/Infrastructure/UpgradeManager.cs b/Oqtane.Server/Infrastructure/UpgradeManager.cs
index 90d8f17a..b3cf2770 100644
--- a/Oqtane.Server/Infrastructure/UpgradeManager.cs
+++ b/Oqtane.Server/Infrastructure/UpgradeManager.cs
@@ -140,21 +140,21 @@ namespace Oqtane.Infrastructure
Icon = Icons.LinkBroken,
IsNavigation = true,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.UrlMappings.Index).ToModuleDefinitionName(), Title = "Url Mappings", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -169,21 +169,21 @@ namespace Oqtane.Infrastructure
Icon = Icons.Eye,
IsNavigation = true,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Visitors.Index).ToModuleDefinitionName(), Title = "Visitor Management", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -217,20 +217,20 @@ namespace Oqtane.Infrastructure
Icon = Icons.X,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule { ModuleDefinitionName = "Oqtane.Modules.HtmlText, Oqtane.Client", Title = "Not Found", Pane = PaneNames.Default,
- ModulePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = "The page you requested does not exist.
"
}
}
diff --git a/Oqtane.Server/Pages/Files.cshtml.cs b/Oqtane.Server/Pages/Files.cshtml.cs
index 59e7d1d7..ab65c32c 100644
--- a/Oqtane.Server/Pages/Files.cshtml.cs
+++ b/Oqtane.Server/Pages/Files.cshtml.cs
@@ -73,7 +73,7 @@ namespace Oqtane.Pages
if (file != null)
{
- if (file.Folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, file.Folder.Permissions))
+ if (file.Folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, file.Folder.PermissionList))
{
// calculate ETag using last modified date and file size
var etag = Convert.ToString(file.ModifiedOn.Ticks ^ file.Size, 16);
diff --git a/Oqtane.Server/Pages/Sitemap.cshtml.cs b/Oqtane.Server/Pages/Sitemap.cshtml.cs
index 55f08d40..6af21034 100644
--- a/Oqtane.Server/Pages/Sitemap.cshtml.cs
+++ b/Oqtane.Server/Pages/Sitemap.cshtml.cs
@@ -48,13 +48,13 @@ namespace Oqtane.Pages
var pageModules = _pageModules.GetPageModules(_alias.SiteId);
foreach (var page in _pages.GetPages(_alias.SiteId))
{
- if (_userPermissions.IsAuthorized(null, PermissionNames.View, page.Permissions))
+ if (_userPermissions.IsAuthorized(null, PermissionNames.View, page.PermissionList))
{
sitemap.Add(new Sitemap { Url = _alias.Protocol + _alias.Name + Utilities.NavigateUrl(_alias.Path, page.Path, ""), ModifiedOn = page.ModifiedOn });
foreach (var pageModule in pageModules.Where(item => item.PageId == page.PageId))
{
- if (_userPermissions.IsAuthorized(null, PermissionNames.View, pageModule.Module.Permissions))
+ if (_userPermissions.IsAuthorized(null, PermissionNames.View, pageModule.Module.PermissionList))
{
var moduleDefinition = moduleDefinitions.Where(item => item.ModuleDefinitionName == pageModule.Module.ModuleDefinitionName).FirstOrDefault();
if (moduleDefinition != null && moduleDefinition.ServerManagerType != "")
diff --git a/Oqtane.Server/Repository/FileRepository.cs b/Oqtane.Server/Repository/FileRepository.cs
index cd56a3e4..e57ca3f1 100644
--- a/Oqtane.Server/Repository/FileRepository.cs
+++ b/Oqtane.Server/Repository/FileRepository.cs
@@ -45,7 +45,7 @@ namespace Oqtane.Repository
}
foreach (File file in files)
{
- file.Folder.Permissions = permissions.EncodePermissions();
+ file.Folder.PermissionList = permissions.ToList();
file.Url = GetFileUrl(file, alias);
}
return files;
@@ -89,8 +89,7 @@ namespace Oqtane.Repository
}
if (file != null)
{
- IEnumerable permissions = _permissions.GetPermissions(file.Folder.SiteId, EntityNames.Folder, file.FolderId).ToList();
- file.Folder.Permissions = permissions.EncodePermissions();
+ file.Folder.PermissionList = _permissions.GetPermissions(file.Folder.SiteId, EntityNames.Folder, file.FolderId).ToList();
file.Url = GetFileUrl(file, _tenants.GetAlias());
}
return file;
@@ -105,8 +104,7 @@ namespace Oqtane.Repository
if (file != null)
{
- IEnumerable permissions = _permissions.GetPermissions(file.Folder.SiteId, EntityNames.Folder, file.FolderId).ToList();
- file.Folder.Permissions = permissions.EncodePermissions();
+ file.Folder.PermissionList = _permissions.GetPermissions(file.Folder.SiteId, EntityNames.Folder, file.FolderId).ToList();
file.Url = GetFileUrl(file, _tenants.GetAlias());
}
@@ -124,7 +122,7 @@ namespace Oqtane.Repository
if (file != null)
{
IEnumerable permissions = _permissions.GetPermissions(file.Folder.SiteId, EntityNames.Folder, file.FolderId).ToList();
- file.Folder.Permissions = permissions.EncodePermissions();
+ file.Folder.PermissionList = permissions.ToList();
file.Url = GetFileUrl(file, _tenants.GetAlias());
}
diff --git a/Oqtane.Server/Repository/FolderRepository.cs b/Oqtane.Server/Repository/FolderRepository.cs
index 111f7c79..0c41cc81 100644
--- a/Oqtane.Server/Repository/FolderRepository.cs
+++ b/Oqtane.Server/Repository/FolderRepository.cs
@@ -30,7 +30,7 @@ namespace Oqtane.Repository
IEnumerable folders = _db.Folder.Where(item => item.SiteId == siteId);
foreach(Folder folder in folders)
{
- folder.Permissions = permissions.Where(item => item.EntityId == folder.FolderId).EncodePermissions();
+ folder.PermissionList = permissions.Where(item => item.EntityId == folder.FolderId).ToList();
}
return folders;
}
@@ -40,7 +40,7 @@ namespace Oqtane.Repository
folder.IsDeleted = false;
_db.Folder.Add(folder);
_db.SaveChanges();
- _permissions.UpdatePermissions(folder.SiteId, EntityNames.Folder, folder.FolderId, folder.Permissions);
+ _permissions.UpdatePermissions(folder.SiteId, EntityNames.Folder, folder.FolderId, folder.PermissionList);
return folder;
}
@@ -48,7 +48,7 @@ namespace Oqtane.Repository
{
_db.Entry(folder).State = EntityState.Modified;
_db.SaveChanges();
- _permissions.UpdatePermissions(folder.SiteId, EntityNames.Folder, folder.FolderId, folder.Permissions);
+ _permissions.UpdatePermissions(folder.SiteId, EntityNames.Folder, folder.FolderId, folder.PermissionList);
return folder;
}
@@ -70,7 +70,7 @@ namespace Oqtane.Repository
}
if (folder != null)
{
- folder.Permissions = _permissions.GetPermissions(folder.SiteId, EntityNames.Folder, folder.FolderId)?.EncodePermissions();
+ folder.PermissionList = _permissions.GetPermissions(folder.SiteId, EntityNames.Folder, folder.FolderId)?.ToList();
}
return folder;
}
@@ -80,7 +80,7 @@ namespace Oqtane.Repository
Folder folder = _db.Folder.Where(item => item.SiteId == siteId && item.Path == path).FirstOrDefault();
if (folder != null)
{
- folder.Permissions = _permissions.GetPermissions(folder.SiteId, EntityNames.Folder, folder.FolderId)?.EncodePermissions();
+ folder.PermissionList = _permissions.GetPermissions(folder.SiteId, EntityNames.Folder, folder.FolderId)?.ToList();
}
return folder;
}
diff --git a/Oqtane.Server/Repository/ModuleDefinitionRepository.cs b/Oqtane.Server/Repository/ModuleDefinitionRepository.cs
index 1b73132d..da8c9660 100644
--- a/Oqtane.Server/Repository/ModuleDefinitionRepository.cs
+++ b/Oqtane.Server/Repository/ModuleDefinitionRepository.cs
@@ -48,7 +48,7 @@ namespace Oqtane.Repository
{
_db.Entry(moduleDefinition).State = EntityState.Modified;
_db.SaveChanges();
- _permissions.UpdatePermissions(moduleDefinition.SiteId, EntityNames.ModuleDefinition, moduleDefinition.ModuleDefinitionId, moduleDefinition.Permissions);
+ _permissions.UpdatePermissions(moduleDefinition.SiteId, EntityNames.ModuleDefinition, moduleDefinition.ModuleDefinitionId, moduleDefinition.PermissionList);
}
public void DeleteModuleDefinition(int moduleDefinitionId)
@@ -81,17 +81,17 @@ namespace Oqtane.Repository
moduledefinition.SiteId = siteId;
if (permissions.Count == 0)
{
- _permissions.UpdatePermissions(siteId, EntityNames.ModuleDefinition, moduledefinition.ModuleDefinitionId, moduledefinition.Permissions);
+ _permissions.UpdatePermissions(siteId, EntityNames.ModuleDefinition, moduledefinition.ModuleDefinitionId, moduledefinition.PermissionList);
}
else
{
if (permissions.Where(item => item.EntityId == moduledefinition.ModuleDefinitionId).Any())
{
- moduledefinition.Permissions = permissions.Where(item => item.EntityId == moduledefinition.ModuleDefinitionId).EncodePermissions();
+ moduledefinition.PermissionList = permissions.Where(item => item.EntityId == moduledefinition.ModuleDefinitionId).ToList();
}
else
{
- _permissions.UpdatePermissions(siteId, EntityNames.ModuleDefinition, moduledefinition.ModuleDefinitionId, moduledefinition.Permissions);
+ _permissions.UpdatePermissions(siteId, EntityNames.ModuleDefinition, moduledefinition.ModuleDefinitionId, moduledefinition.PermissionList);
}
}
}
@@ -239,18 +239,18 @@ namespace Oqtane.Repository
if (moduledefinition.Categories == "Admin")
{
- moduledefinition.Permissions = new List
+ moduledefinition.PermissionList = new List
{
new Permission(PermissionNames.Utilize, RoleNames.Admin, true)
- }.EncodePermissions();
+ };
}
else
{
- moduledefinition.Permissions = new List
+ moduledefinition.PermissionList = new List
{
new Permission(PermissionNames.Utilize, RoleNames.Admin, true),
new Permission(PermissionNames.Utilize, RoleNames.Registered, true)
- }.EncodePermissions();
+ };
}
Debug.WriteLine($"Oqtane Info: Registering Module {moduledefinition.ModuleDefinitionName}");
diff --git a/Oqtane.Server/Repository/ModuleRepository.cs b/Oqtane.Server/Repository/ModuleRepository.cs
index 214e179a..68095740 100644
--- a/Oqtane.Server/Repository/ModuleRepository.cs
+++ b/Oqtane.Server/Repository/ModuleRepository.cs
@@ -38,7 +38,7 @@ namespace Oqtane.Repository
{
_db.Module.Add(module);
_db.SaveChanges();
- _permissions.UpdatePermissions(module.SiteId, EntityNames.Module, module.ModuleId, module.Permissions);
+ _permissions.UpdatePermissions(module.SiteId, EntityNames.Module, module.ModuleId, module.PermissionList);
return module;
}
@@ -46,7 +46,7 @@ namespace Oqtane.Repository
{
_db.Entry(module).State = EntityState.Modified;
_db.SaveChanges();
- _permissions.UpdatePermissions(module.SiteId, EntityNames.Module, module.ModuleId, module.Permissions);
+ _permissions.UpdatePermissions(module.SiteId, EntityNames.Module, module.ModuleId, module.PermissionList);
return module;
}
@@ -68,7 +68,7 @@ namespace Oqtane.Repository
}
if (module != null)
{
- module.Permissions = _permissions.GetPermissions(module.SiteId, EntityNames.Module, module.ModuleId)?.EncodePermissions();
+ module.PermissionList = _permissions.GetPermissions(module.SiteId, EntityNames.Module, module.ModuleId)?.ToList();
}
return module;
}
diff --git a/Oqtane.Server/Repository/PageModuleRepository.cs b/Oqtane.Server/Repository/PageModuleRepository.cs
index 76e63766..5aa38884 100644
--- a/Oqtane.Server/Repository/PageModuleRepository.cs
+++ b/Oqtane.Server/Repository/PageModuleRepository.cs
@@ -119,7 +119,7 @@ namespace Oqtane.Repository
}
}
}
- pageModule.Module.Permissions = permissions?.EncodePermissions();
+ pageModule.Module.PermissionList = permissions?.ToList();
return pageModule;
}
}
diff --git a/Oqtane.Server/Repository/PageRepository.cs b/Oqtane.Server/Repository/PageRepository.cs
index 0ed89159..95032fc9 100644
--- a/Oqtane.Server/Repository/PageRepository.cs
+++ b/Oqtane.Server/Repository/PageRepository.cs
@@ -26,7 +26,7 @@ namespace Oqtane.Repository
IEnumerable pages = _db.Page.Where(item => item.SiteId == siteId && item.UserId == null);
foreach(Page page in pages)
{
- page.Permissions = permissions.Where(item => item.EntityId == page.PageId).EncodePermissions();
+ page.PermissionList = permissions.Where(item => item.EntityId == page.PageId).ToList();
}
return pages;
}
@@ -35,7 +35,7 @@ namespace Oqtane.Repository
{
_db.Page.Add(page);
_db.SaveChanges();
- _permissions.UpdatePermissions(page.SiteId, EntityNames.Page, page.PageId, page.Permissions);
+ _permissions.UpdatePermissions(page.SiteId, EntityNames.Page, page.PageId, page.PermissionList);
return page;
}
@@ -43,7 +43,7 @@ namespace Oqtane.Repository
{
_db.Entry(page).State = EntityState.Modified;
_db.SaveChanges();
- _permissions.UpdatePermissions(page.SiteId, EntityNames.Page, page.PageId, page.Permissions);
+ _permissions.UpdatePermissions(page.SiteId, EntityNames.Page, page.PageId, page.PermissionList);
return page;
}
@@ -66,7 +66,7 @@ namespace Oqtane.Repository
}
if (page != null)
{
- page.Permissions = _permissions.GetPermissions(page.SiteId, EntityNames.Page, page.PageId)?.EncodePermissions();
+ page.PermissionList = _permissions.GetPermissions(page.SiteId, EntityNames.Page, page.PageId)?.ToList();
}
return page;
}
@@ -81,7 +81,7 @@ namespace Oqtane.Repository
{
page = personalized;
}
- page.Permissions = _permissions.GetPermissions(page.SiteId, EntityNames.Page, page.PageId)?.EncodePermissions();
+ page.PermissionList = _permissions.GetPermissions(page.SiteId, EntityNames.Page, page.PageId)?.ToList();
}
return page;
}
@@ -91,7 +91,7 @@ namespace Oqtane.Repository
Page page = _db.Page.FirstOrDefault(item => item.Path == path && item.SiteId == siteId);
if (page != null)
{
- page.Permissions = _permissions.GetPermissions(page.SiteId, EntityNames.Page, page.PageId)?.EncodePermissions();
+ page.PermissionList = _permissions.GetPermissions(page.SiteId, EntityNames.Page, page.PageId)?.ToList();
}
return page;
}
diff --git a/Oqtane.Server/Repository/SiteRepository.cs b/Oqtane.Server/Repository/SiteRepository.cs
index 46360cab..29dede6b 100644
--- a/Oqtane.Server/Repository/SiteRepository.cs
+++ b/Oqtane.Server/Repository/SiteRepository.cs
@@ -127,30 +127,30 @@ namespace Oqtane.Repository
Folder folder = _folderRepository.AddFolder(new Folder
{
SiteId = site.SiteId, ParentId = null, Name = "Root", Type = FolderTypes.Private, Path = "", Order = 1, ImageSizes = "", Capacity = 0, IsSystem = true,
- Permissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.Browse, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions()
+ }
});
_folderRepository.AddFolder(new Folder { SiteId = site.SiteId, ParentId = folder.FolderId, Name = "Public", Type = FolderTypes.Public, Path = "Public/", Order = 1, ImageSizes = "", Capacity = 0, IsSystem = false,
- Permissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.Browse, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions()
+ }
});
_folderRepository.AddFolder(new Folder
{
SiteId = site.SiteId, ParentId = folder.FolderId, Name = "Users", Type = FolderTypes.Private, Path = "Users/", Order = 3, ImageSizes = "", Capacity = 0, IsSystem = true,
- Permissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.Browse, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions()
+ }
});
// process site template first
@@ -214,7 +214,7 @@ namespace Oqtane.Repository
ThemeType = "",
DefaultContainerType = "",
Icon = pagetemplate.Icon,
- Permissions = pagetemplate.PagePermissions,
+ PermissionList = pagetemplate.PermissionList,
IsPersonalizable = pagetemplate.IsPersonalizable,
UserId = null,
IsClickable = true
@@ -233,7 +233,7 @@ namespace Oqtane.Repository
SiteId = site.SiteId,
ModuleDefinitionName = pagetemplatemodule.ModuleDefinitionName,
AllPages = false,
- Permissions = pagetemplatemodule.ModulePermissions,
+ PermissionList = pagetemplatemodule.PermissionList,
};
module = _moduleRepository.AddModule(module);
@@ -283,23 +283,23 @@ namespace Oqtane.Repository
Icon = Icons.LockLocked,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Login.Index).ToModuleDefinitionName(), Title = "User Login", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -312,23 +312,23 @@ namespace Oqtane.Repository
Icon = Icons.Person,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Register.Index).ToModuleDefinitionName(), Title = "User Registration", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -342,23 +342,23 @@ namespace Oqtane.Repository
Icon = Icons.Person,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Reset.Index).ToModuleDefinitionName(), Title = "Password Reset", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -371,23 +371,23 @@ namespace Oqtane.Repository
Icon = Icons.Person,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Registered, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.UserProfile.Index).ToModuleDefinitionName(), Title = "User Profile", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Registered, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -400,20 +400,20 @@ namespace Oqtane.Repository
Icon = Icons.X,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule { ModuleDefinitionName = "Oqtane.Modules.HtmlText, Oqtane.Client", Title = "Not Found", Pane = PaneNames.Default,
- ModulePermissions = new List {
+ PermissionList = new List {
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = "The page you requested does not exist.
"
}
}
@@ -428,23 +428,23 @@ namespace Oqtane.Repository
Icon = "",
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Registered, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Dashboard.Index).ToModuleDefinitionName(), Title = "Admin Dashboard", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.View, RoleNames.Registered, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -458,21 +458,21 @@ namespace Oqtane.Repository
Icon = Icons.Home,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Site.Index).ToModuleDefinitionName(), Title = "Site Settings", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -486,21 +486,21 @@ namespace Oqtane.Repository
Icon = Icons.Layers,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Pages.Index).ToModuleDefinitionName(), Title = "Page Management", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -514,21 +514,21 @@ namespace Oqtane.Repository
Icon = Icons.People,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Users.Index).ToModuleDefinitionName(), Title = "User Management", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -542,21 +542,21 @@ namespace Oqtane.Repository
Icon = Icons.Person,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Profiles.Index).ToModuleDefinitionName(), Title = "Profile Management", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -570,21 +570,21 @@ namespace Oqtane.Repository
Icon = Icons.LockLocked,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Roles.Index).ToModuleDefinitionName(), Title = "Role Management", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -598,21 +598,21 @@ namespace Oqtane.Repository
Icon = Icons.File,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Files.Index).ToModuleDefinitionName(), Title = "File Management", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -626,21 +626,21 @@ namespace Oqtane.Repository
Icon = Icons.Trash,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.RecycleBin.Index).ToModuleDefinitionName(), Title = "Recycle Bin", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -654,21 +654,21 @@ namespace Oqtane.Repository
Icon = Icons.LinkBroken,
IsNavigation = true,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.UrlMappings.Index).ToModuleDefinitionName(), Title = "Url Mappings", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -683,21 +683,21 @@ namespace Oqtane.Repository
Icon = Icons.Eye,
IsNavigation = true,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Visitors.Index).ToModuleDefinitionName(), Title = "Visitor Management", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -713,21 +713,21 @@ namespace Oqtane.Repository
Icon = Icons.MagnifyingGlass,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Logs.Index).ToModuleDefinitionName(), Title = "Event Log", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -741,21 +741,21 @@ namespace Oqtane.Repository
Icon = Icons.Globe,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Sites.Index).ToModuleDefinitionName(), Title = "Site Management", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -769,21 +769,21 @@ namespace Oqtane.Repository
Icon = Icons.Browser,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.ModuleDefinitions.Index).ToModuleDefinitionName(), Title = "Module Management", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -797,21 +797,21 @@ namespace Oqtane.Repository
Icon = Icons.Brush,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Themes.Index).ToModuleDefinitionName(), Title = "Theme Management", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -825,25 +825,25 @@ namespace Oqtane.Repository
Icon = Icons.Text,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Languages.Index).ToModuleDefinitionName(), Title = "Language Management", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true),
new Permission(PermissionNames.View, RoleNames.Admin, true),
new Permission(PermissionNames.Edit, RoleNames.Admin, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -857,21 +857,21 @@ namespace Oqtane.Repository
Icon = Icons.Timer,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Jobs.Index).ToModuleDefinitionName(), Title = "Scheduled Jobs", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -885,21 +885,21 @@ namespace Oqtane.Repository
Icon = Icons.Spreadsheet,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Sql.Index).ToModuleDefinitionName(), Title = "Sql Management", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -913,21 +913,21 @@ namespace Oqtane.Repository
Icon = Icons.MedicalCross,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.SystemInfo.Index).ToModuleDefinitionName(), Title = "System Info", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
@@ -941,21 +941,21 @@ namespace Oqtane.Repository
Icon = Icons.Aperture,
IsNavigation = false,
IsPersonalizable = false,
- PagePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
PageTemplateModules = new List
{
new PageTemplateModule
{
ModuleDefinitionName = typeof(Oqtane.Modules.Admin.Upgrade.Index).ToModuleDefinitionName(), Title = "System Update", Pane = PaneNames.Default,
- ModulePermissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.View, RoleNames.Host, true),
new Permission(PermissionNames.Edit, RoleNames.Host, true)
- }.EncodePermissions(),
+ },
Content = ""
}
}
diff --git a/Oqtane.Server/Repository/UserRepository.cs b/Oqtane.Server/Repository/UserRepository.cs
index 6c9e31d7..2944c218 100644
--- a/Oqtane.Server/Repository/UserRepository.cs
+++ b/Oqtane.Server/Repository/UserRepository.cs
@@ -54,12 +54,12 @@ namespace Oqtane.Repository
ImageSizes = "",
Capacity = Constants.UserFolderCapacity,
IsSystem = true,
- Permissions = new List
+ PermissionList = new List
{
new Permission(PermissionNames.Browse, user.UserId, true),
new Permission(PermissionNames.View, RoleNames.Everyone, true),
new Permission(PermissionNames.Edit, user.UserId, true)
- }.EncodePermissions()
+ }
});
}
diff --git a/Oqtane.Server/Security/UserPermissions.cs b/Oqtane.Server/Security/UserPermissions.cs
index 91d2cc90..a6682783 100644
--- a/Oqtane.Server/Security/UserPermissions.cs
+++ b/Oqtane.Server/Security/UserPermissions.cs
@@ -6,6 +6,7 @@ using Oqtane.Repository;
using Oqtane.Extensions;
using System;
using System.Collections.Generic;
+using System.Text.Json;
namespace Oqtane.Security
{
@@ -14,6 +15,7 @@ namespace Oqtane.Security
bool IsAuthorized(ClaimsPrincipal user, int siteId, string entityName, int entityId, string permissionName, string roles);
bool IsAuthorized(ClaimsPrincipal user, int siteId, string entityName, int entityId, string permissionName);
bool IsAuthorized(ClaimsPrincipal user, string permissionName, List permissions);
+ bool IsAuthorized(ClaimsPrincipal user, string permissionName, string permissions);
User GetUser(ClaimsPrincipal user);
User GetUser();
@@ -55,6 +57,11 @@ namespace Oqtane.Security
return UserSecurity.IsAuthorized(GetUser(principal), permissionName, permissions);
}
+ public bool IsAuthorized(ClaimsPrincipal principal, string permissionName, string permissions)
+ {
+ return UserSecurity.IsAuthorized(GetUser(principal), permissionName, JsonSerializer.Deserialize>(permissions));
+ }
+
public User GetUser(ClaimsPrincipal principal)
{
User user = new User();
diff --git a/Oqtane.Shared/Models/Folder.cs b/Oqtane.Shared/Models/Folder.cs
index 46e5fa90..00d3281e 100644
--- a/Oqtane.Shared/Models/Folder.cs
+++ b/Oqtane.Shared/Models/Folder.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
+using System.Text.Json;
namespace Oqtane.Models
{
@@ -69,7 +70,7 @@ namespace Oqtane.Models
/// TODO: todoc what would this contain?
///
[NotMapped]
- public List Permissions { get; set; }
+ public List PermissionList { get; set; }
///
/// Folder Depth
@@ -83,5 +84,19 @@ namespace Oqtane.Models
///
[NotMapped]
public bool HasChildren { get; set; }
+
+ [Obsolete("The Permissions property is deprecated. Use PermissionList instead", false)]
+ [NotMapped]
+ public string Permissions
+ {
+ get
+ {
+ return JsonSerializer.Serialize(PermissionList);
+ }
+ set
+ {
+ PermissionList = JsonSerializer.Deserialize>(Permissions);
+ }
+ }
}
}
diff --git a/Oqtane.Shared/Models/Module.cs b/Oqtane.Shared/Models/Module.cs
index 0c8b5f97..ada47af1 100644
--- a/Oqtane.Shared/Models/Module.cs
+++ b/Oqtane.Shared/Models/Module.cs
@@ -2,6 +2,7 @@ using Oqtane.Shared;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
+using System.Text.Json;
namespace Oqtane.Models
{
@@ -42,7 +43,7 @@ namespace Oqtane.Models
#endregion
[NotMapped]
- public List Permissions { get; set; }
+ public List PermissionList { get; set; }
[NotMapped]
public Dictionary Settings { get; set; }
@@ -107,5 +108,19 @@ namespace Oqtane.Models
public bool UseAdminContainer { get; set; }
#endregion
+
+ [Obsolete("The Permissions property is deprecated. Use PermissionList instead", false)]
+ [NotMapped]
+ public string Permissions
+ {
+ get
+ {
+ return JsonSerializer.Serialize(PermissionList);
+ }
+ set
+ {
+ PermissionList = JsonSerializer.Deserialize>(Permissions);
+ }
+ }
}
}
diff --git a/Oqtane.Shared/Models/ModuleDefinition.cs b/Oqtane.Shared/Models/ModuleDefinition.cs
index 796611b1..632e2d11 100644
--- a/Oqtane.Shared/Models/ModuleDefinition.cs
+++ b/Oqtane.Shared/Models/ModuleDefinition.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
+using System.Text.Json;
using Oqtane.Documentation;
namespace Oqtane.Models
@@ -100,8 +101,22 @@ namespace Oqtane.Models
[NotMapped]
public string AssemblyName { get; set; }
[NotMapped]
- public List Permissions { get; set; }
+ public List PermissionList { get; set; }
[NotMapped]
public string Template { get; set; }
+
+ [Obsolete("The Permissions property is deprecated. Use PermissionList instead", false)]
+ [NotMapped]
+ public string Permissions
+ {
+ get
+ {
+ return JsonSerializer.Serialize(PermissionList);
+ }
+ set
+ {
+ PermissionList = JsonSerializer.Deserialize>(Permissions);
+ }
+ }
}
}
diff --git a/Oqtane.Shared/Models/Page.cs b/Oqtane.Shared/Models/Page.cs
index e24a3268..ffc098f7 100644
--- a/Oqtane.Shared/Models/Page.cs
+++ b/Oqtane.Shared/Models/Page.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
+using System.Text.Json;
namespace Oqtane.Models
{
@@ -98,7 +99,7 @@ namespace Oqtane.Models
public List Resources { get; set; }
[NotMapped]
- public List Permissions { get; set; }
+ public List PermissionList { get; set; }
[NotMapped]
public Dictionary Settings { get; set; }
@@ -122,6 +123,18 @@ namespace Oqtane.Models
[NotMapped]
public string LayoutType { get; set; }
+ [Obsolete("The Permissions property is deprecated. Use PermissionList instead", false)]
+ [NotMapped]
+ public string Permissions {
+ get
+ {
+ return JsonSerializer.Serialize(PermissionList);
+ }
+ set
+ {
+ PermissionList = JsonSerializer.Deserialize>(Permissions);
+ }
+ }
#endregion
}
}
diff --git a/Oqtane.Shared/Models/SiteTemplate.cs b/Oqtane.Shared/Models/SiteTemplate.cs
index dba0302f..e53404d8 100644
--- a/Oqtane.Shared/Models/SiteTemplate.cs
+++ b/Oqtane.Shared/Models/SiteTemplate.cs
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Text.Json;
namespace Oqtane.Models
{
@@ -18,11 +20,24 @@ namespace Oqtane.Models
public string Icon { get; set; }
public bool IsNavigation { get; set; }
public bool IsPersonalizable { get; set; }
- public List PagePermissions { get; set; }
+ public List PermissionList { get; set; }
public List PageTemplateModules { get; set; }
[Obsolete("This property is obsolete", false)]
public bool EditMode { get; set; }
+
+ [Obsolete("The PagePermissions property is deprecated. Use PermissionList instead", false)]
+ public string PagePermissions
+ {
+ get
+ {
+ return JsonSerializer.Serialize(PermissionList);
+ }
+ set
+ {
+ PermissionList = JsonSerializer.Deserialize>(PagePermissions);
+ }
+ }
}
public class PageTemplateModule
@@ -30,7 +45,20 @@ namespace Oqtane.Models
public string ModuleDefinitionName { get; set; }
public string Title { get; set; }
public string Pane { get; set; }
- public List ModulePermissions { get; set; }
+ public List PermissionList { get; set; }
public string Content { get; set; }
+
+ [Obsolete("The ModulePermissions property is deprecated. Use PermissionList instead", false)]
+ public string ModulePermissions
+ {
+ get
+ {
+ return JsonSerializer.Serialize(PermissionList);
+ }
+ set
+ {
+ PermissionList = JsonSerializer.Deserialize>(ModulePermissions);
+ }
+ }
}
}
diff --git a/Oqtane.Shared/Security/UserSecurity.cs b/Oqtane.Shared/Security/UserSecurity.cs
index 9c550f4a..5d4b7aed 100644
--- a/Oqtane.Shared/Security/UserSecurity.cs
+++ b/Oqtane.Shared/Security/UserSecurity.cs
@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
+using System.Text.Json;
using Oqtane.Models;
using Oqtane.Shared;
@@ -24,6 +25,11 @@ namespace Oqtane.Security
return IsAuthorized(user, permissions.Where(item => item.PermissionName == permissionName).ToList());
}
+ public static bool IsAuthorized(User user, string permissionName, string permissions)
+ {
+ return IsAuthorized(user, JsonSerializer.Deserialize>(permissions).Where(item => item.PermissionName == permissionName).ToList());
+ }
+
public static bool IsAuthorized(User user, List permissions)
{
bool authorized = false;