当前位置: 首页 > 面试题库 >

使用RestTemplate设置安全cookie

盖成弘
2023-03-14
问题内容

我正在尝试使用RestTemplate和Jackson json转换器调用Restful
JSON服务。现在,为了调用该服务,我需要传递一个安全性cookie。我可以通过使用URLConnection来实现(请参见下面的代码)

URL url= new URL("https://XXXXXXXX");

URLConnection yc = url.openConnection();
yc.setRequestProperty("SecurityCookie", ssocookie.getValue());</code>

RestTemplate中与此并行的是什么?这是我一直在使用RestTemplate调用Restful Service的代码片段:

RestTemplate rest = new RestTemplate();  
InputBean input = new InputBean();  
input.setResource("SampleResource");  
HttpEntity<InputBean > entity = new HttpEntity<InputBean>(input);  
ResponseEntity<OutputBean> response1 = rest.postForEntity(
    "https://XXXXXXXXX", 
    entity, OutputBean.class);</code>

我无法弄清楚在使用RestTemplate调用服务时如何传递安全cookie。任何帮助都会很棒。


问题答案:

您可以访问底层HttpURLConnection使用RestTemplate的布线您RestTemplate用自定义ClientHttpRequestFactory,它可以让你访问套头,性能等基础连接的ClientHttpRequestFactory用于通过RestTemplate创建新的连接时。

特别是,您可以扩展SimpleClientHttpRequestFactory实现并覆盖prepareConnection()方法:

public class YourClientHttpRequestFactory extends SimpleClientHttpRequestFactory {
  @Override
   protected void prepareConnection(HttpURLConnection connection, String httpMethod) {
     connection.setRequestProperty("SecurityCookie", ssocookie.getValue());
   }
}


 类似资料:
  • 主要内容:保持最新,拒绝服务(DoS)攻击,ServerRoot目录的权限,服务器端包含,CGI脚本,非脚本别名CGI,脚本别名CGI,其他动态内容来源,动态内容安全性,保护系统设置,默认保护服务器文件,查看日志,合并配置部分有关设置Web服务器的安全问题的一些提示和技巧。一些建议通用的,其他建议特定于Apache版本。 保持最新 Apache HTTP Server具有良好的安全记录和高度关注安全问题的开发人员社区。但是,在软件发布之后,软件中会发现一些小问题或大问题是不可避免的。因此,了解软

  • 问题内容: Spring是线程安全的吗?那是 是可以安全共享多个连接的策略对象。 是一个连接对象(如数据库连接),使用时无法共享,并且需要为每个连接重新创建或池化。 问题答案: 是线程安全的(添加了重点): 从概念上讲,它是非常相似的,和Spring框架和其他投资项目中发现的各种其他模板。举例来说,这意味着一旦构建后,线程安全 该类的对象不会更改其任何状态信息来处理HTTP:该类是Strategy

  • Spring是线程安全的吗?那就是 是一个多个连接可以安全共享的策略对象。或 是连接对象(如数据库连接),在使用时不能共享,需要为每个连接重新创建或池化。

  • 问题内容: 我有一个运行在Cedar堆栈上的node.js应用程序,我很困惑为什么安全cookie无法正常工作。 在localhost上,一切正常,但在heroku上,我似乎无法设置安全cookie。我究竟做错了什么?该文档称,负载平衡器终止SSL,它说的是配置在那里? 非常感谢 问题答案: 您认为Heroku在到达您的应用之前会先终止SSL。这导致express看到非SSL流量,这可能就是为什么

  • 若要配置安全性设置,请前往“配置”->“安全性”。 你可以更改用户密码的复杂性要求以提高密码强度,以及强制注销所有其他用户会话。 如果要在 Navicat Monitor 和客户端之间使用加密连接(HTTPS 会话),你可以将 Navicat Monitor 配置为使用 SSL/TLS 协议。请点击“+ 添加证书”并配置以下信息: 名 輸入证书的名。 证书 粘贴证书文件的内容。 私钥 粘贴私钥文件

  • 我试图通过https://docs.confluent.io/platform/current/security/security_tutorial.htmlSSL密钥和用户名/密码来设置集群,就像描述的那样。 但是未能找到一种合适的方法来设置密钥的dname和代理的参数“super.users” 它被告知创建一个密钥: 稍后配置代理服务器。设置超级用户所需的属性: 因为本教程将代理间安全协议配置