我正在开发一个带有基于Flex的前端和Spring/Hibernate后端的应用程序.
为了让Facebook集成按照我目前的方式工作,我需要在后端的前端读取javascript设置的cookie,并在登录期间进行一些验证,看看用户是否试图欺骗他的Facebook登录.
这将非常简单,但我无法弄清楚如何获得HttpServletRequest.我正在使用一个非常基本的Spring配置(这是我的第一个真正的Spring应用程序,现在我对它非常熟悉,但是我从来没有看过它.)
我没有使用Spring MVC或Spring WebFlow或类似的东西.我可以获得ServletContext,但我还没有弄清楚如何获取请求.
有帮助吗?
如果FlexContext不可用:
解决方案1:内部方法(> =需要Spring 2.0)
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()) .getRequest();
解决方案2:内部bean(由> = 2.5支持,Spring 3.0需要singelton bean!)
@Autowired private HttpServletRequest request;
这是一种特定的Flex/BlazeDS,但这是我提出的解决方案.对不起,如果回答我自己的问题是一个失礼.
HttpServletRequest request = flex.messaging.FlexContext.getHttpRequest(); Cookie[] cookies = request.getCookies(); for (Cookie c:cookies) { log.debug(String.format("Cookie: %s, %s, domain: %s",c.getName(), c.getValue(),c.getDomain())); }
它有效,我得到了饼干.我的问题是寻找Spring - BlazeDS有它.春天可能也是这样,但我仍然不知道如何去做.