Spring MVC - 动态更改安全设置

时间:2016-04-26 07:23:43

标签: java spring-mvc spring-security

我正在开发一个Java Spring MVC应用程序,我正在使用基于Java的Spring Security配置。 我需要动态更改一些Spring Security设置(在用户活动期间)。这是我的代码的一部分:

@Override
protected void configure(HttpSecurity http) throws Exception {

         http
            .anyRequest().authenticated()
            .and()
            .formLogin()
            .loginPage("/admin/login")
            ...

}

例如,在用户活动期间,我需要将/admin/login网址更改为customer/login

1 个答案:

答案 0 :(得分:0)

我只是提供HTML中的链接,一个用于客户,一个用于管理员:)

但我想你不会问这对你来说是否是一个有效的解决方案。根据您编写一些解决方法的乐趣,您可以采用这种方法:

  • 为您的用户创建一个匿名会话,以便记住用户'最后的活动类别。如果spring-security无法(轻松)为您完成工作,只需将活动类别存储在cookie中即可。现在你可以选择解决方案(1)或(2)。

    1. 根据您存储的信息,您可以动态决定在HTML页面中呈现哪个目标登录URL。这样您就可以动态链接正确的登录页面。
    2. 解决方案(1)的缺点是,您必须根据存储的值在每个控制器中设置正确的目标URL。也许更好的方法是让您的HTML始终指向同一个登录调度程序控制器,并根据存储的活动类别将请求转发到正确的登录页面。