【问题标题】:Spring-security split authentication and the authorizationSpring-security拆分身份验证和授权
【发布时间】:2011-07-17 07:06:27
【问题描述】:

我正在尝试使用 spring-security 为我的 flex Web 应用程序创建自定义登录。 我有一个工作版本,我们使用带有 blazeds 的 channelset.login。

我的问题是我想拆分身份验证和授权。

我想请用户在认证后做出一些选择来确定自己的角色。

因为用户被授权的角色是由这个选择决定的。

这意味着必须对用户进行身份验证,然后客户端需要对服务进行服务调用,然后需要进行授权过程。

有谁知道这是否可行并且有一些关于如何做到这一点的提示?

提前致谢,

阿杰

【问题讨论】:

    标签: apache-flex authentication spring-security blazeds


    【解决方案1】:

    是的,这听起来并不牵强。 您可以将用户角色存储在数据库中,为新用户设置每个角色,例如 SIGNUP 只允许用户注册,一旦确定了他的新角色,只需更新该角色并限制新角色能够更新再次扮演角色,除非您是管理员。

    您还可以覆盖身份验证过程来做任何您想做的事情:http://mark.koli.ch/2010/07/spring-3-and-spring-security-setting-your-own-custom-j-spring-security-check-filter-processes-url.html

    如果您使用某种形式的 ORM,则可能需要刷新会话对象。

    【讨论】:

    • 感谢您的快速回复。但问题不在于想要注册的新用户。每次用户登录时,他都会有一些选择。一个例子是他必须选择一个客户。根据客户,他可以获得该客户配置的角色。因此,在检查并验证用户名后,我需要返回客户端向用户询问客户。然后客户端将客户发送回服务器,然后从数据库中选择角色。
    • 这应该仍然有效,只是允许用户切换到的任何角色能够切换到另一个角色。角色只是字符串,这意味着您可以将任何角色分配给任何用户。
    • 好的,我会看看这个。我试图更改我的一项服务中的角色,但 spring 返回了一个错误,指出无法更改角色列表。
    猜你喜欢
    • 2014-05-11
    • 2010-11-22
    • 1970-01-01
    • 2021-02-24
    • 2017-05-10
    • 2016-08-15
    • 2015-05-22
    • 2020-03-15
    • 2018-12-11
    相关资源
    最近更新 更多