当前位置: 首页 > 知识库问答 >
问题:

在URL中隐藏spring会话bean参数值

翟昊明
2023-03-14

目标:隐藏页面URL中的键/值对。E、 g.-http://abc.xyz.com/nav/book?clientID=390

我不希望clientID等在URL中可见(安全原因)。我知道http是一种无状态协议。

我尝试过使用HttpSession、Spring@SessionAttributes,目前使用的是Spring“session”作用域bean-

@Component
@Scope(value = "session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class UserSession {

    private String clientID;
    private String fundID;
    private String navDate;

    public String getClientID() {
        return clientID;
    }
    public void setClientID(String clientID) {
        this.clientID = clientID;
    }
    public String getFundID() {
        return fundID;
    }
    public void setFundID(String fundID) {
        this.fundID = fundID;
    }
    public String getNavDate() {
        return navDate;
    }
    public void setNavDate(String navDate) {
        this.navDate = navDate;
    }
}

并在我的控制器中使用-

@Controller
@SessionAttributes(value = {"client","fund","nav"})
public class HomeController {
    @Autowired
    private UserSession userSession;

    @RequestMapping(value = "abc", method = RequestMethod.GET)
    public ModelAndView navWorkbook(Model model, HttpServletRequest request, HttpServletResponse response,
            @RequestParam(required = false) String clientID,
            @RequestParam(required = false) String fundID,
            @RequestParam(required = false) String navDate) {
        ModelAndView modelAndView = new ModelAndView("abcd");
        .
        .
        .
        userSession.setClientID(clientID);
        userSession.setFundID(fundID);
        userSession.setNavDate(navDate);
        modelAndView.addObject("userSession", userSession);
        return modelAndView;
    }
}

我是否无法隐藏URL中显示的Springbean属性名称/值?

谢谢各位

共有1个答案

胡俊弼
2023-03-14

请求映射中,必须使用RequestMethod。POST而不是RequestMethod。获取。

 @RequestMapping(value = "abc", method = RequestMethod.POST)
 类似资料:
  • 我需要确保给定的 bean 是使用会话范围定义的。 我知道我可以使用或,其中是我的(Web)Application Context,但是,没有。 如果你想知道为什么我需要这样的东西,请检查这个问题。 相关:我可以以编程方式确定Spring bean是否不是单例吗?

  • 问题内容: 我将JSF 2用于视图,将Spring用于业务逻辑。我正在尝试使用注解(@Scope(“ session”))将会话范围设置为我的一个Spring bean,但是却遇到了这个异常: 我知道RequestContextListener。在我的web.xml中。我还添加了RequestContextFilter: 似乎没有任何作用。我究竟做错了什么?谢谢! 问题答案: 尝试使用aop:sc

  • 问题内容: 我以mysql映像为例,但是问题很普遍。 用于在docker中启动mysqld的密码在docker ps中不可见,但在docker inspect中可见: 有没有一种方法可以隐藏/混淆启动容器时传递的环境参数。或者,是否可以通过引用文件来传递敏感参数? 问题答案: 从文档http://docs.docker.com/reference/commandline/run/中 提取出来,您说

  • 我很难弄清楚如何隐藏 MapServer 请求上可用的查询字符串 MAP 参数的文件路径值,如下所示:http://192.168.15.150/mapserver?MAP=/data/config/map/nasaww.map > 基于MapServer Env变量-但是这个解决方案后置了MAP变量或替换了变量的MAP值。不是我真正想要的。 使用Apachemod_rewrite,如下所示。我已

  • 我的bean注释为 我有一些getter和setter,但我对JSP感兴趣的是 然后在我的控制器中,我将产品添加到列表中 然后,在我的JSP中,我尝试了一下,但没有得到结果: 我还使用了下面的属性,以便我的beans向JSP公开:< code > 编辑:控制器: 表始终为空。我已经调试过了,我看到在我的个人豆中,填充了产品列表。