Spring Security-将参数传递到登录页面 [英] Spring security - passing parameters to login page

查看:824
本文介绍了Spring Security-将参数传递到登录页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在研究Java/J2EE&基于Spring的Web应用程序.我们正在使用Spring安全性配置进行登录.我有一个要求,但没有得到实现的方法.要求: 每当匿名用户单击主页上的查看通讯簿"链接时,都应将其重定向到登录/注册页面.并且登录/注册页面的标题应设置为请登录/注册以查看您的通讯簿".

I am working on a Java/J2EE & Spring based web application. We are using spring security configurations for login. I have a requirement and not getting how to implement it. Requirement: Whenever anonymous users clicks on 'View Address Book' link on home page they should be redirect to login/signup page. and the header of login/signup page should be set to "Please login/signup to view your address book".

现在,在这里我不是基于应该更改登录/注册页面标题的参数.

Now, here I am not getting based on what parameter I should change login/signup page heading.

请提出建议.对特定文件/步骤的引用将不胜感激.

Please suggest. Reference to specific files/steps will be appreciated.

关于, 阿伦

推荐答案

您可以使用 SavedRequest 界面. Spring Security使用 SavedRequest 类型存储重定向URL和参数.

You can use SavedRequest interface. Spring security use SavedRequest type to store the redirect url and parameters.

  1. 创建一个自定义登录控制器以提供您的login.jsp视图.
  2. 从HttpSessionRequestCache获取SavedRequest对象
  3. 获取请求的网址和参数saveRequest.
  4. 将其作为模型属性传递到login.jsp页面.

  1. Create a custom login controller to serve your login.jsp view.
  2. Get SavedRequest object from HttpSessionRequestCache
  3. Get the requested url and parameters savedRequest.
  4. Pass it to login.jsp page as model attribute.

@Controller
public class LoginController {
    @RequestMapping("/login")
    public ModelAndView showLoginPage(HttpServletRequest request, HttpServletResponse response) {

        SavedRequest savedRequest = new HttpSessionRequestCache().getRequest(request, response);

        String requestedUrl  = savedRequest.getRedirectUrl();
        ModelAndView model =  new ModelAndView("login");
        model.addObject("requestedUrl",requestedUrl);
        return model;
    }
}

您还可以通过

savedRequest.getParameterValues("parameterName");

这篇关于Spring Security-将参数传递到登录页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆