asp.net-mvc access-control claims-based-identity role-based role-base-authorization
我使用的是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
使用角度2实现ACL /纸质的最佳方法是什么?
简而言之,我的方案是:角色是动态的,基于客户端可以配置的权限,也可以是动态的.
我需要阻止用户访问他无权执行的特定资源.为此我想到了使用Angular的Guards概念.使用CanActivate Guard,我可以根据我在每条路线中放置的信息来设置是否让用户通过.此信息将是该路由引用的资源的名称.当我到警卫队时,我可以与他的角色进行比较,看看他的角色是否可以访问此功能以及是否允许导航.
但是,这可能会导致另外两个问题:
1 - 如何将用户重定向到他有权访问的资源?我是否必须列出路径文件并寻找与其角色兼容的人,然后重定向到那里?
2 - 如何禁用在可以访问的页面上看不到的组件?例如,它可以访问列表页面X,但它无权创建新项目,因此我需要删除Create Something按钮.或者更确切地说,如何使用divs元素执行此操作,这些元素包含某些角色的特定信息,但不包含角色的角色?
我想知道在角度生态系统中如何最好地处理这种情况.
谢谢收听.
我是新的反应世界并添加了路由器v4但无法实现反应角色基础授权.让我知道是否有任何来源让我采取正确的方式.
因此,我一直在努力寻找有关如何在SPA应用中解决授权而非身份验证的最佳实践.
假设我有一个带有api后端的客户端MVC(angular,vuejs等),我们如何管理使用应用程序的授权?
例如,用户和管理员都可以访问,但是一个人具有比另一个更多的访问权限(视图中的功能).如果他们在客户端使用相同的UI,您如何根据访问权限保护和呈现正确的视图?可以选择获取他们的角色/声明列表,并根据它确定在客户端呈现的内容,但由于这是基于JS,因此可以轻松规避.
对我来说,客户端mvc应用程序可能不是正确的解决方案,SSR应用程序更适合这一点.如果是这样的话,移动案例怎么样?如何在不开发实际原生应用的情况下为移动设备解决同样的问题?
authorization role-base-authorization single-page-application
我想在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) 我的应用程序的基本架构是React前端,它使用位于多语言存储层之上的RESTful API.
前端:
反应消费API
后端:
Python
Flask
验证
Auth0 + OKTA
一切都很好.但是,我需要为用户提供不同的角色.换句话说,我需要根据角色控制用户可以对资源执行的操作.
示例:
-User A想要添加一个新用户
- 他的请求中有一个令牌,所以我知道用户A是经过身份验证的
- 所以我需要确保他实际上可以根据他的角色添加用户.
我不想像其他解决方案中建议的那样硬编码用户角色,我想允许添加自定义角色.
此外,我想尊重人们的时间,所以如果有资源解决我的问题,请随时指出.
这些是我的问题:
1.是否有任何最佳实践来实现我想要实现的目标?
你能指点我讨论授权(不是认证)的例子或教程吗?
3.如果经过身份验证的用户也可以执行操作,或者我是否在授权后以某种形式提供角色,我是否检查每个服务呼叫?因此服务请求包含身份验证和授权令牌?(这似乎很容易破解,所以我猜不是......)
如果我对授权主题感到困惑,那是因为我.请随时向我指出任何对您有帮助的资源.
提前感谢您抽出宝贵时间提供帮助!对此,我真的非常感激.
rest authorization role-base-authorization python-3.x restful-architecture
根据用户角色在反应路由器中有条件地渲染路由的最佳方法是什么?我遇到的情况是,并非所有角色都有权查看某些路线。我还需要处理子路线。因此,如果主要路线之一类似于 /posts,我只希望管理员和学生访问该路线及其子路线(例如 posts/today)。我正在使用反应路由器版本 5.3.2。
我有一个Group资源,我正在尝试使用适当的授权进行设置.
我试图实现的授权逻辑是这样的:
我正在尝试使用组控制器中的以下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
坦率地说,我对实体级授权有一个要求。我希望得到一些关于这个权限结构的指导,我如何在 .NET 4.5 中实现它,以及是否有办法改进它。
它是这样的:
我有一组结构如下的数据:
在哪里
Fleet
是零个或多个的集合Cars
。Fleet
可以包含其他Fleets
舰队可以在以后重组和移动以用于组织目的。
我在系统中有多个具有与这些实体相关的权限的角色:
授权逻辑允许User
系统中的 a 被授予对具有一个或多个角色的aFleet
或 a 的访问权限Car
。
以下是一些有助于解释的场景:
User
Jim以角色访问Fleet
#5 的权限Driver
,他将被允许驾驶车队 #2 下的任何汽车。由此产生的权限允许他驾驶汽车 #4, 5, 6Car #1
作为机械师的访问权限,则由此产生的权限允许她只修理汽车 #1。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
role-based ×2
acl ×1
angular ×1
asp.net ×1
asp.net-mvc ×1
controller ×1
python-3.x ×1
react-router ×1
reactjs ×1
rest ×1
spring-mvc ×1