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

Spring BootHTTPS和重定向

庄元龙
2023-03-14

我将Spring STS与Pivotal3.1服务器(端口8080和8443)一起使用,我还在运行在80和443上的box上有一个单独的Tomcat7实例。

我使用Spring Boot1.2.4版本。

我怎样才能达到同样的使用Spring靴请?

谢谢,Adrian

共有1个答案

李甫
2023-03-14

如果您使用的是Spring Security,那么您可以按照Spring Boot参考中提到的那样,将Security.require_ssl=true添加到您的application.properties中。如果您自定义Spring Security配置,那么您将希望拥有如下内容:

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            // ...
            .requiresChannel()
                .anyRequest().requiresSecure();
    }
}

由于您使用的不是Spring Security,而是war文件,所以最简单的方法是创建一个web.xml,其中包含以下内容:

src/main/webapp/web-inf/web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee                       http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>all</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>
</web-app>

使用web.xml是必要的,因为没有办法以编程方式设置整个应用程序的安全约束。您可以在如何以编程方式在Servlets3.x中设置 中找到有关这方面的一些详细信息?

 类似资料:
  • 问题内容: 我在页面上发生了一个jQuery Ajax请求。在PHP方面,我正在检查会话是否处于活动状态并正在执行某些操作。如果会话不活跃,我想将用户重定向到php中的另一个页面(header redirect)。我该怎么做。 我知道如何在javascript中实现它(即,如果session_fail然后更改window.location,但是我可以在php / cakephp中做些什么 问题答案

  • 请参考:http://www.kancloud.cn/manual/thinkphp/1720

  • 页面跳转 在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的\think\Controller类内置了两个跳转方法success和error,用于页面跳转提示。 使用方法很简单,举例如下: <?php namespace app\index\controller; use app\index\model\User; use t

  • 我有一个SpringBoot(1.5.6),带有SpringSecurity(4.2)和ThymeLeaf应用程序,允许用户重置密码。所有html页面都在src/resources/templates中。基本流程是: > 用户提供用户名(通过resetPage.html) 凭证已清除 生成令牌并通过电子邮件发送到用户名电子邮件 用户单击电子邮件中的url将重定向到重置密码页面(changePass

  • Flask类有重定向函数。调用时,它会返回一个响应对象,并将用户重定向到具有指定状态码的另一个目标位置。 函数的原型如下 - 在上述函数中 - location 参数是响应应该被重定向的URL。 statuscode 参数发送到浏览器的头标,默认为。 response 参数用于实例化响应。 以下状态代码是标准化的 - HTTP_300_MULTIPLE_CHOICES HTTP_301_MOVED

  • 目前我正在使用泽西岛1.0,即将切换到2.0。对于 REST 请求,可能会持续一两秒钟以上,我使用以下模式: 客户端调用GET或PUT 服务器向客户端返回轮询URL 客户端轮询URL,直到它重定向到已完成的资源 相当标准和简单。然而,我注意到泽西2.0具有AsyncACK功能。但看起来这是在没有更改的情况下完成的。换句话说,当服务器异步处理请求时,客户端仍然会阻止结果。 那么这有什么好处呢?我应该