diff --git a/Oqtane.Client/Modules/Admin/Site/Index.razor b/Oqtane.Client/Modules/Admin/Site/Index.razor
index f772b794..f82e1a4f 100644
--- a/Oqtane.Client/Modules/Admin/Site/Index.razor
+++ b/Oqtane.Client/Modules/Admin/Site/Index.razor
@@ -21,6 +21,22 @@
+
+
+
+ |
+
+ @if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host))
+ {
+
+ }
+ else
+ {
+
+ }
+ |
+
+
@@ -202,18 +218,6 @@
@if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host))
{
-
-
-
-
-
- |
-
-
- |
-
-
-
@@ -421,11 +425,14 @@
if (_name != string.Empty && _urls != string.Empty && _themetype != "-" && _containertype != "-")
{
var unique = true;
- foreach (string name in _urls.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
+ if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host))
{
- if (_aliasList.Exists(item => item.Name == name && item.SiteId != PageState.Alias.SiteId && item.TenantId != PageState.Alias.TenantId))
+ foreach (string name in _urls.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
{
- unique = false;
+ if (_aliasList.Exists(item => item.Name == name && item.SiteId != PageState.Alias.SiteId && item.TenantId != PageState.Alias.TenantId))
+ {
+ unique = false;
+ }
}
}
@@ -542,7 +549,7 @@
await logger.LogInformation("Site Deleted {SiteId}", PageState.Site.SiteId);
var aliases = await AliasService.GetAliasesAsync();
- foreach (Alias a in aliases.Where(item => item.SiteId == PageState.Site.SiteId))
+ foreach (Alias a in aliases.Where(item => item.SiteId == PageState.Site.SiteId && item.TenantId == PageState.Site.TenantId))
{
await AliasService.DeleteAliasAsync(a.AliasId);
}
diff --git a/Oqtane.Server/Controllers/AliasController.cs b/Oqtane.Server/Controllers/AliasController.cs
index 62dcfc85..a61f2ed4 100644
--- a/Oqtane.Server/Controllers/AliasController.cs
+++ b/Oqtane.Server/Controllers/AliasController.cs
@@ -8,6 +8,8 @@ using Oqtane.Enums;
using Oqtane.Infrastructure;
using Oqtane.Repository;
using Microsoft.AspNetCore.Http;
+using Oqtane.Themes.Controls;
+using System.Linq;
namespace Oqtane.Controllers
{
@@ -16,19 +18,26 @@ namespace Oqtane.Controllers
{
private readonly IAliasRepository _aliases;
private readonly ILogManager _logger;
+ private readonly Alias _alias;
- public AliasController(IAliasRepository aliases, ILogManager logger)
+ public AliasController(IAliasRepository aliases, ILogManager logger, ITenantManager tenantManager)
{
_aliases = aliases;
_logger = logger;
+ _alias = tenantManager.GetAlias();
}
// GET: api/
[HttpGet]
- [Authorize(Roles = RoleNames.Host)]
+ [Authorize(Roles = RoleNames.Admin)]
public IEnumerable Get()
{
- return _aliases.GetAliases();
+ var aliases = _aliases.GetAliases();
+ if (!User.IsInRole(RoleNames.Host))
+ {
+ aliases = aliases.Where(item => item.SiteId == _alias.SiteId && item.TenantId == _alias.TenantId);
+ }
+ return aliases;
}
// GET api//5
|