小编eco*_*dan的帖子

Spring Security(Acegi)和用户组(vs.角色)

我们正在开发一个应用程序(使用Grails Spring Security(以前称为Acegi)),其中我们将拥有数千个用户,这些用户跨越10-15个谨慎的用户类型.在当前系统中,每个用户类型等同于"组",并且特定角色和权限与组相关联.用户从组中获取所有"角色".

例如,我们可能有两个用户组:

CLOWN:roles = ride_clown_car,toot_horn,receive_applause ACROBAT:roles = do_flip,walk_tightrope,receive_applause

我们有三个用户,一个分配给CLOWN组,一个分配给ACROBAT组,一个分配给两个(具有CLOWN和ACROBAT角色的联合).

如果我们更改权限,我们会在组级别执行此操作.例如,如果我们向ACROBAT组添加swing_on_trapeze权限,则所有杂技演员都会自动继承它.

在Grails术语中,控制器上的权限仍然是角色级别.因此,使用@Secured(['toot_horn'])的操作将允许CLOWN组中的用户,但不允许ACROBAT组中的用户.@Secured(['receive_applause'])将允许CLOWNS和ACROBATS.

考虑到模型的两层特性(用户,角色),我将如何在Spring Security中执行此操作?我是否需要实现自己的自定义身份验证才能通过组收集角色?

谢谢!

grails spring-security

5
推荐指数
1
解决办法
2722
查看次数

Grails-品牌应用程序

以下是挑战:根据传入的URL,我希望显示特定的登录页面,并在登录时根据用户的身份显示特定的用户体验.

例如,www.abc.com和www.xyz.com都指向一个提供通用门户体验的Grails实例.如果用户通过www.abc.com到达,我想显示带有登录表单的ABC启动页面.如果用户通过www.xyz.com到达,我想用登录表单显示XYZ启动页面.

一旦用户登录,我将需要保留由传入URL确定的原始"品牌"上下文.例如,即使所有GSP,控制器等都由所有用户共享,ABC用户也会选择自己的CSS,资源包(或条目)等,用户将拥有与XYZ用户截然不同的视觉体验. .

这可能吗?或者我是否需要分支应用程序代码库并托管多个独立的门户网站实例?

grails

5
推荐指数
1
解决办法
206
查看次数

标签 统计

grails ×2

spring-security ×1