using System.Linq;
using System.Threading.Tasks;
using Admin.Core.Common.Attributes;
using Admin.Core.Service.Admin.User;
namespace Admin.Core.Auth
{
///
/// 权限处理
///
[SingleInstance]
public class PermissionHandler : IPermissionHandler
{
private readonly IUserService _userService;
public PermissionHandler(IUserService userService)
{
_userService = userService;
}
///
/// 权限验证
///
/// 接口路径
/// http请求方法
///
public async Task ValidateAsync(string api, string httpMethod)
{
var permissions = await _userService.GetPermissionsAsync();
//var isValid = permissions.Any(m => m.EqualsIgnoreCase($"{httpMethod}/{api}"));
var isValid = permissions.Any(m => m != null && m.EqualsIgnoreCase($"/{api}"));
return isValid;
}
}
}