Spring MVC – 动态更改安全设置

我正在研究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 url更改为customer/login

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

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

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

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