Spring Cloud Spring Boot mybatis分布式微服务云架构(十三)使用Spring Security安全控制

准备工作

首先,构建一个简单的Web工程,以用于后续添加安全控制,若对如何使用Spring Boot构建Web应用,可以先阅读《Spring Boot开发Web应用》一文。

Web层实现请求映射

@Controller
public class HelloController {

    @RequestMapping("/")
    public String index() {
        return "index";
    }

    @RequestMapping("/hello")
    public String hello() {
        return "hello";
    }

}
  • /:映射到index.html
  • /hello:映射到hello.html

实现映射的页面

  • src/main/resources/templates/index.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
    <head>
        <title>Spring Security入门</title>
    </head>
    <body>
        <h1>欢迎使用Spring Security!</h1>
        <p>点击 <a th:href="@{/hello}">这里</a> 打个招呼吧</p>
    </body>
</html>

src/main/resources/templates/hello.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
    <head>
        <title>Hello World!</title>
    </head>
    <body>
        <h1>Hello world!</h1>
    </body>
</html>

可以看到在index.html中提供到/hello的链接,显然在这里没有任何安全控制,所以点击链接后就可以直接跳转到hello.html页面。完整项目的源码来源 技术支持1791743380

原文地址:https://www.cnblogs.com/itspring/p/9473476.html

时间: 2024-10-10 09:33:24

Spring Cloud Spring Boot mybatis分布式微服务云架构(十三)使用Spring Security安全控制的相关文章

springCloud Spring Boot mybatis分布式微服务云架构-docker-hystrix-dashboard-turbine(九)

简介 Hystrix的主要优点之一是它收集关于每个HystrixCommand的一套指标.Hystrix仪表板以有效的方式显示每个断路器的运行状况,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的断路器是否打开,请求响应时间, 请求失败率,请求超时个数等等数据.但是只使用Hystrix Dashboard的话, 你只能看到单个应用内的服务信息, 这明显不够. 我们需要一个工具能让我们汇总系统内多个服务的数据并显示到Hystrix Dashboard上,

springcloud Spring Boot mybatis分布式微服务云架构(三):服务提供与调用

上一篇文章我们介绍了eureka服务注册中心的搭建,这篇文章介绍一下如何使用eureka服务注册中心,搭建一个简单的服务端注册服务,客户端去调用服务使用的案例. 案例中有三个角色:服务注册中心.服务提供者.服务消费者,其中服务注册中心就是我们上一篇的eureka单机版启动既可,流程是首先启动注册中心,服务提供者生产服务并注册到服务中心中,消费者从服务中心中获取服务并执行. 服务提供 我们假设服务提供者有一个hello方法,可以根据传入的参数,提供输出"hello xxx,this is firs

Spring Cloud Spring Boot mybatis分布式微服务云架构(三)属性配置文件详解(1)

相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷.我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在application.properties中完成一些属性配置就能开启各模块的应用. 在之前的各篇文章中都有提及关于application.pro

Spring Cloud Spring Boot mybatis分布式微服务云架构(二)使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程

在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建.而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也可以通过<Springboot快速入门>一文中提到的SPRING INITIALIZR页面工具来创建,相信每位读者都有自己最喜欢和最为熟练的创建方式. 本文我们将介绍嵌入的Intellij中的Spring Initializr工具,它同Web提供的创建功能一样,可以帮助我们快速的构建出一个基础的S

Spring Cloud Spring Boot mybatis分布式微服务云架构(十三)

准备工作 首先,构建一个简单的Web工程,以用于后续添加安全控制,也可以用之前Chapter3-1-2做为基础工程.若对如何使用Spring Boot构建Web应用,可以先阅读<Spring Boot开发Web应用>一文. Web层实现请求映射 [java] view plain copy@Controller public class HelloController { @RequestMapping("/") public String index() { return

Spring Cloud Spring Boot mybatis分布式微服务云架构(二)

通过命令行设置属性值 相信使用过一段时间Spring Boot的用户,一定知道这条命令:java -jar xxx.jar --server.port=8888,通过使用–server.port属性来设置xxx.jar应用的端口为8888. 在命令行运行时,连续的两个减号--就是对application.properties中的属性值进行赋值的标识.所以,java -jar xxx.jar --server.port=8888命令,等价于我们在application.properties中添加属

Spring Cloud Spring Boot mybatis分布式微服务云架构(一)快速入门

快速入门 本章主要目标完成Spring Boot基础项目的构建,并且实现一个简单的Http请求处理,通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单.开发快速的特性. 系统要求: Java 7及以上Spring Framework 4.1.5及以上本文采用Java 1.8.0_73.Spring Boot 1.3.2调试通过. 使用Maven构建项目 通过SPRING INITIALIZR工具产生基础项目访问:http://start.spring.io/选择构建工具Mav

Spring Cloud Spring Boot mybatis分布式微服务云架构 开发Web应用

静态资源访问在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /static/public/resources/META-INF/resources举例:我们可以在src/main/resources/目录下创建static,在该位置放置一个图片文件.启动程序后,尝试访问http://localhost:8080/D.jpg.如能显示图片,配置成功. 渲染Web页面在

Spring Cloud Spring Boot mybatis分布式微服务云架构(六)RESTfu

下面针对该Controller编写测试用例验证正确性,具体如下.当然也可以通过浏览器插件等进行请求提交验证. @RunWith(SpringJUnit4Cla***unner.class) @SpringApplicationConfiguration(classes = MockServletContext.class) @WebAppConfiguration public class ApplicationTests { private MockMvc mvc; @Before publi