fix page management

This commit is contained in:
Shaun Walker
2020-02-18 17:49:36 -05:00
parent 066c616eca
commit 05eaf12003
8 changed files with 197 additions and 170 deletions

View File

@ -1,4 +1,5 @@
using Oqtane.Models;
using Microsoft.AspNetCore.Http;
using Oqtane.Models;
using Oqtane.Repository;
using System.Linq;
using System.Security.Claims;
@ -8,10 +9,12 @@ namespace Oqtane.Security
public class UserPermissions : IUserPermissions
{
private readonly IPermissionRepository Permissions;
private readonly IHttpContextAccessor Accessor;
public UserPermissions(IPermissionRepository Permissions)
public UserPermissions(IPermissionRepository Permissions, IHttpContextAccessor Accessor)
{
this.Permissions = Permissions;
this.Accessor = Accessor;
}
public bool IsAuthorized(ClaimsPrincipal User, string EntityName, int EntityId, string PermissionName)
@ -20,13 +23,22 @@ namespace Oqtane.Security
}
public bool IsAuthorized(ClaimsPrincipal User, string PermissionName, string Permissions)
{
return UserSecurity.IsAuthorized(GetUser(User), PermissionName, Permissions);
}
public User GetUser(ClaimsPrincipal User)
{
User user = new User();
user.Username = "";
user.IsAuthenticated = false;
user.UserId = -1;
user.Roles = "";
if (User != null)
{
user.Username = User.Identity.Name;
user.IsAuthenticated = User.Identity.IsAuthenticated;
var idclaim = User.Claims.Where(item => item.Type == ClaimTypes.PrimarySid).FirstOrDefault();
if (idclaim != null)
{
@ -39,7 +51,12 @@ namespace Oqtane.Security
}
}
return UserSecurity.IsAuthorized(user, PermissionName, Permissions);
return user;
}
public User GetUser()
{
return GetUser(Accessor.HttpContext.User);
}
}
}