首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启动类IsInRole .net核心

启动类IsInRole .net核心
EN

Stack Overflow用户
提问于 2019-01-31 23:50:25
回答 1查看 71关注 0票数 0

我在我的启动课的ConfigureServices中工作。我想运行IsInRole() (据我所知就是这个方法)来填充一个操作:

但是,运行:

代码语言:javascript
复制
System.Security.Principal.IPrincipal.IsInRole("BRV_Projects_Edit");

显然是不成功的,因为这引用了一个接口,而不是实现该接口的实例。

我的问题是,在ConfigureService的上下文中,我在定义自定义属性时,如何访问(inject?)当前用户的主体。

EN

回答 1

Stack Overflow用户

发布于 2019-02-01 00:18:54

根据上面的反馈,在管道中的这一点上,User.InRole是不可访问的,但是可以通过创建一个ActionFilterAttribute来访问。

除了与.net核心相关的更改之外,ActionFilterAttribute提供的OnActionExecuting、Get User Name on Action Filter与本文极其相似

代码语言:javascript
复制
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (filterContext.Controller is Controller controller)
        {
            controller.ViewBag.CanEdit = filterContext.HttpContext.User.IsInRole("group1");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54464326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档