java - Spring安全中的重定向url

标签 java spring spring-security

早上好,

我一直在查看我的 Spring 安全配置,我想知道如何将所有指向/foo/* 的路径重定向到特定的 url。 我需要做一些与没有 session 时类似的事情,然后我们重定向到登录页面。

就我而言,我需要将指向/foo/* 的任何 url 重定向到 in_development_page.html。

如果可能的话,我想使用拦截模式,就像这样。

   <intercept-url pattern="/foo/*" redirect="in_development_page.html"/>

你知道这样的事情是否可能吗?

问候。

最佳答案

您可以使用拦截器:

<mvc:interceptor>
    <mvc:mapping path="/foo/**"/>            
    <bean class="com.interceptors.AuthorizationInterceptor" />
</mvc:interceptor>

假设我们要检查 session ,那么您可以在 AuthorizationInterceptor 中编写代码,如下所示:

    if(UserSession.isSessionValid()){
        System.out.println("ready to enter");
        return true;
    }else{
        System.out.println("not logged in...redirecting to login");
        response.sendRedirect("/in_development_page");
        return false;
    }

这里UserSession是我的具有 session 变量的类。

如果你只想重定向,那么你可以删除if代码,只传递response.sendRedirect()。 在参数中传递正在开发的页面URL

完整的类代码:

public class AuthorizationInterceptor extends HandlerInterceptorAdapter {
    @Autowired
    private IUserSession UserSession;

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("interceptor called for " + request.getRequestURI());
        if(UserSession.isSessionValid()){
            System.out.println("ready to enter");
            return true;
        }else{
            System.out.println("not logged in...redirecting to login");
            response.sendRedirect("/in_development_page");
            return false;
        }
    }
}

这里的类将扩展 HandlerInterceptorAdapter spring 类。

关于java - Spring安全中的重定向url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25719208/

相关文章:

java - 将包含 selenium 命令的 java 代码转换为 groovy,以便在 Katalon 上以脚本模式插入

java - 使用 Spring 的事务管理器进行回滚

java - 使用 Spring Integration 将域对象路由到适当的方法

java - 将多个 HttpSessionIdResolver 与 Spring 一起使用

spring - 定义具有继承权限的用户角色

java - hibernate Eclipse 插件

java - 一个 javax.persistence.jdbc.url 适用于 Windows 和 Linux,使用 firebird

java - Spring不加载自定义CSS

具有抽象类/继承的 Spring Data Rest Repository

spring - 获取运行时错误 java.lang.NoSuchMethodError : org. springframework.core.convert.support.PropertyTypeDescriptor