来源:https://blog.csdn.net/lwplvx/article/details/113614095
var endpoint = httpContext.GetEndpoint();
if (endpoint != null)
{
    var permissionAttribute = endpoint.Metadata.GetMetadata<PermissionsAttribute>();
}

这样就可以获取标记在Controller的Action上面的自定义Attribute了:

/// <summary>
/// 查询全部角色
/// </summary>
/// <returns></returns>
[HttpPost]
[Permissions("0102_View")]
public JsonResult GetAllSysRoles([FromBody] SysRoleParaDto dto){
    //...
}

 自定义Attribute

namespace XCGWebApp.Attributes
{
    [System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple = false)]
    public class PermissionsAttribute : System.Attribute
    {
        public PermissionsAttribute()
        {
            PermissionCodes = "";
        }
        public PermissionsAttribute(string permissionCodes)
        {
            PermissionCodes = permissionCodes;
        }
        /// <summary>
        /// 权限编码,英文逗号分隔。
        /// </summary>
        public string PermissionCodes { get; set; } = string.Empty;
    }
}

 

posted on 2024-02-05 17:19  邢帅杰  阅读(209)  评论(0)    收藏  举报