Claim چون با کوکی هست در زمان لاگین میتونی یک سری تگ ها مثل (صفحه و دکمه و ... با حروف انگلیسی تعریف کنی به صورت ارایه) درون یک کلیم بریزی
ولی برای چک کردن یک اکشن لازم داری
using BLL.Interfaces;using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
namespace WebAdmin.Models
{
public class PermissionCheckerAttribute : AuthorizeAttribute, IAuthorizationFilter
{
private string _IdRoles = "0";
private IPersonnel _ip;
public PermissionCheckerAttribute(string IdRoles)
{
_IdRoles = IdRoles;
}
public void OnAuthorization(AuthorizationFilterContext context)
{
try
{
_ip = (IPersonnel)context.HttpContext.RequestServices.Ge tService(typeof(IPersonnel));
if (context.HttpContext.User.Identity.IsAuthenticated )
{
long IdUser = long.Parse(context.HttpContext.User.Identity.Name) ;
if (_IdRoles != "0" && _ip.UserIsRole(IdUser, _IdRoles) == false)
{
context.Result = new RedirectResult("/Account/Login");
}
}
else
{
context.Result = new RedirectResult("/Account/Login");
}
}
catch
{
context.Result = new RedirectResult("/Account/Login");
}
}
}
}
namespace WebAdmin.Controllers{
[Models.PermissionChecker("4,43")]
public class AttributeController : Controller
{