有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java登录后使用spring安全性重定向到特定URL

我有一个开发项目的案例。 我在我的应用程序的页脚中有一些课程链接,每当用户单击这些链接时,我们都会向他显示登录或注册弹出窗口(如果他未登录)或重定向到课程页面(如果他已登录)。 所以现在我想要的是,每当用户在登录前单击课程时,他/她应该在登录后重定向到课程详细信息页面

我正在使用spring安全性进行身份验证。让我知道如何使用spring安全认证来实现这一点


共 (1) 个答案

  1. # 1 楼答案

    这是一个微不足道的用例

    页脚中的链接应该指向“安全区域”(例如“../secured/page1”、“../secured/page2”)。您可以在安全bean中进行配置。xml这个“安全区域”是什么

    当用户单击并试图访问安全资源时,spring会检查用户是否已通过身份验证。如果没有,它会将他重定向到登录页面。(在登录页面中,您可以添加“创建帐户”的链接)

    以下是“安全区域”的配置方式:

    <sec:http authentication-manager-ref="authenticationManager">
       <sec:intercept-url pattern="/secured/**" access="ROLE_USER" />
       ...
    

    Spring保存“重定向url”,如果用户未登录,他将被重定向到登录页面,登录后Spring使用“重定向uri”并将他发送到“安全资源”,这是您的案例中的课程页面。详细说明:登录后,类SavedRequestAwareAuthenticationSuccessHandler使用RequestCache保存原始请求URI

    如果需要弹出窗口,请参见:Spring security opening a popup login