标签: role-base-authorization

ASP.NET MVC中基于角色的访问控制(RBAC)与基于声明的访问控制(CBAC)

使用CBACRBAC的主要好处是什么?何时使用CBAC更好,何时使用RBAC更好?

我试图理解CBAC模型的一般概念,但总体思路对我来说仍然不明确.

asp.net-mvc access-control claims-based-identity role-based role-base-authorization

129
推荐指数
9
解决办法
4万
查看次数

如何使@PreAuthorize具有比@Valid或@Validated更高的优先级

我使用的是spring boot,我在WebSecurityConfigurerAdapter中启用了全局方法安全性

@EnableGlobalMethodSecurity(prePostEnabled = true, order = Ordered.HIGHEST_PRECEDENCE) 
Run Code Online (Sandbox Code Playgroud)

以下是我的控制器代码

@PreAuthorize("hasAnyRole('admin') or principal.id == id")
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
public User updateUser(@PathVariable("id") String id,  @Valid @RequestBody   UserDto userDto) 
{ ....}
Run Code Online (Sandbox Code Playgroud)

但是,当非管理员用户尝试执行PUT请求时,JSR303验证器将在@PreAuthorize之前启动.例如,非管理员用户最终得到类似"名字是必需的"而不是"拒绝访问"的内容.但是在用户提供了第一个名称变量以传递验证器之后,返回了拒绝访问.

有没有人知道在@Valid或@Validated之前如何强制执行@PreAuthorize?

我必须使用这种方法级授权而不是基于url的授权才能执行一些复杂的规则检查.

controller spring-mvc spring-security role-base-authorization bean-validation

9
推荐指数
1
解决办法
3369
查看次数

如何使用angular 2实现基于ACL /角色的授权?

使用角度2实现ACL /纸质的最佳方法是什么?

简而言之,我的方案是:角色是动态的,基于客户端可以配置的权限,也可以是动态的.

我需要阻止用户访问他无权执行的特定资源.为此我想到了使用Angular的Guards概念.使用CanActivate Guard,我可以根据我在每条路线中放置的信息来设置是否让用户通过.此信息将是该路由引用的资源的名称.当我到警卫队时,我可以与他的角色进行比较,看看他的角色是否可以访问此功能以及是否允许导航.

但是,这可能会导致另外两个问题:

1 - 如何将用户重定向到他有权访问的资源?我是否必须列出路径文件并寻找与其角色兼容的人,然后重定向到那里?

2 - 如何禁用在可以访问的页面上看不到的组件?例如,它可以访问列表页面X,但它无权创建新项目,因此我需要删除Create Something按钮.或者更确切地说,如何使用divs元素执行此操作,这些元素包含某些角色的特定信息,但不包含角色的角色?

我想知道在角度生态系统中如何最好地处理这种情况.

谢谢收听.

acl role-base-authorization angular

9
推荐指数
1
解决办法
5403
查看次数

React router v4角色基础授权

我是新的反应世界并添加了路由器v4但无法实现反应角色基础授权.让我知道是否有任何来源让我采取正确的方式.

role-base-authorization react-router-v4

9
推荐指数
1
解决办法
2884
查看次数

SPA或客户端应用程序中的授权

因此,我一直在努力寻找有关如何在SPA应用中解决授权而非身份验证的最佳实践.

假设我有一个带有api后端的客户端MVC(angular,vuejs等),我们如何管理使用应用程序的授权?

例如,用户和管理员都可以访问,但是一个人具有比另一个更多的访问权限(视图中的功能).如果他们在客户端使用相同的UI,您如何根据访问权限保护和呈现正确的视图?可以选择获取他们的角色/声明列表,并根据它确定在客户端呈现的内容,但由于这是基于JS,因此可以轻松规避.

对我来说,客户端mvc应用程序可能不是正确的解决方案,SSR应用程序更适合这一点.如果是这样的话,移动案例怎么样?如何在不开发实际原生应用的情况下为移动设备解决同样的问题?

authorization role-base-authorization single-page-application

8
推荐指数
1
解决办法
1018
查看次数

仅允许匿名用户通过web.config授权

我想在web.config中使用授权来阻止对经过身份验证的用户访问SignUp.aspx.用户无法访问它,例如他们的角色是administrator和Guest.

<location path="SignUp.aspx">
    <system.web>
        <authorization>
            <allow users="?"/>
        </authorization>
    </system.web>
</location>

    <authentication mode="Forms">
        <forms name="AuthCookie" loginUrl="Login.aspx" timeout="60" 
                           defaultUrl="Index.aspx"/>
    </authentication>
    <authorization>
        <deny users="?"/>
    </authorization>
Run Code Online (Sandbox Code Playgroud)

asp.net role-base-authorization asp.net-authorization

7
推荐指数
1
解决办法
2万
查看次数

如何实现Python REST API的基于角色的授权?

我的应用程序的基本架构是React前端,它使用位于多语言存储层之上的RESTful API.

前端:
反应消费API

后端:
Python
Flask

验证
Auth0 + OKTA

一切都很好.但是,我需要为用户提供不同的角色.换句话说,我需要根据角色控制用户可以对资源执行的操作.

示例:
-User A想要添加一个新用户
- 他的请求中有一个令牌,所以我知道用户A是经过身份验证的
- 所以我需要确保他实际上可以根据他的角色添加用户.

我不想像其他解决方案中建议的那样硬编码用户角色,我想允许添加自定义角色.

此外,我想尊重人们的时间,所以如果有资源解决我的问题,请随时指出.

这些是我的问题:
1.是否有任何最佳实践来实现我想要实现的目标?
你能指点我讨论授权(不是认证)的例子或教程吗?
3.如果经过身份验证的用户也可以执行操作,或者我是否在授权后以某种形式提供角色,我是否检查每个服务呼叫?因此服务请求包含身份验证和授权令牌?(这似乎很容易破解,所以我猜不是......)

如果我对授权主题感到困惑,那是因为我.请随时向我指出任何对您有帮助的资源.

提前感谢您抽出宝贵时间提供帮助!对此,我真的非常感激.

rest authorization role-base-authorization python-3.x restful-architecture

7
推荐指数
1
解决办法
1275
查看次数

基于角色的反应路由器

根据用户角色在反应路由器中有条件地渲染路由的最佳方法是什么?我遇到的情况是,并非所有角色都有权查看某些路线。我还需要处理子路线。因此,如果主要路线之一类似于 /posts,我只希望管理员和学生访问该路线及其子路线(例如 posts/today)。我正在使用反应路由器版本 5.3.2。

role-base-authorization reactjs react-router

7
推荐指数
1
解决办法
2万
查看次数

用于correct_user和admin的多个before_filter语句

我有一个Group资源,我正在尝试使用适当的授权进行设置.

我试图实现的授权逻辑是这样的:

  1. 只有小组成员才能查看他们的小组.
  2. 管理员可以查看任何组,也可以执行其他操作.

我正在尝试使用组控制器中的以下before_filter语句执行此操作:

before_filter :signed_in_user
before_filter :correct_user, only: :show
before_filter :admin_user, only: [:show, :index, :edit, :update, :destroy]
Run Code Online (Sandbox Code Playgroud)

Correct_user工作,因为我已经验证只有组成员可以查看他们的组.但是,我想要发生的是使用admin:show子句来覆盖它,以便管理员可以查看任何组.目前这是行不通的.我猜我的滤镜排序和选项有问题.

谁能告诉我哪里出错了?

编辑

根据Amar的请求添加我的方法代码:

private

def correct_user
  # User has to be a member to view
  @group = Group.find(params[:id])
  redirect_to(root_path) if @group.members.find_by_member_id(current_user).nil?
end

def admin_user
  redirect_to(root_path) unless current_user.admin?
end
Run Code Online (Sandbox Code Playgroud)

authorization ruby-on-rails before-filter role-base-authorization

6
推荐指数
1
解决办法
1万
查看次数

分层数据方案中的实体级访问控制

坦率地说,我对实体级授权有一个要求。我希望得到一些关于这个权限结构的指导,我如何在 .NET 4.5 中实现它,以及是否有办法改进它。

它是这样的:


我有一组结构如下的数据:

在此处输入图片说明

在哪里

  • aFleet是零个或多个的集合Cars
  • aFleet可以包含其他Fleets

舰队可以在以后重组和移动以用于组织目的。

我在系统中有多个具有与这些实体相关的权限的角色:

  • 车主:可以在车队中添加或移除汽车
  • 经理:为汽车分配司机
  • 司机:允许简单地驾驶汽车
  • 机械师:可以修理汽车

授权逻辑允许User系统中的 a 被授予对具有一个或多个角色的aFleet或 a 的访问权限Car

以下是一些有助于解释的场景:

  1. 如果我授予User Jim以角色访问Fleet #5 的权限Driver,他将被允许驾驶车队 #2 下的任何汽车。由此产生的权限允许他驾驶汽车 #4, 5, 6
  2. 如果我授予用户MauraCar #1作为机械师的访问权限,则由此产生的权限允许她只修理汽车 #1。
  3. 如果我授予用户Sarah访问 Fleet #2 的角色Owner和权限Mechanic,她可以添加和移除车队 #2, 4, 5并且她可以修理汽车 #1, 2, 3, 4, 5, 6 …

access-control claims-based-identity role-based role-base-authorization role-based-access-control

6
推荐指数
1
解决办法
658
查看次数