spring security需求分析与基础环境准备教程

目录
  • 前言
  • 一、需求分析
  • 二、环境准备

前言

Spring Security企业安全认证系列文章,本专栏内容目前已经比较系统了,核心内容也相对完整,本系列文章会根据Spring Security社区的发展逐步的更新内容。请大家多多关注我们~

前文传送门:

SpringSecurity框架简介及与shiro特点对比

一、需求分析

  • login.html登录页面,登录页面访问不受限制
  • 在登录页面登录之后,进入index.html首页(登录验证Authentication)
  • 首页可以看到syslog、sysuer、biz1、biz2四个页面选项
  • 我们希望syslog(日志管理)和sysuser(用户管理)只有admin管理员可以访问(权限管理Authorization)
  • biz1、biz2普通的操作普通用户登录即可访问(权限管理Authorization)

其中 login.html是html文件,其他文件是以.html为后缀的freemarker模板文件

我们先将以上页面准备好,先不做任何访问权限上的限制!以上需求我们将在后面章节实现

二、环境准备

  • 起一个新的spring boot2.x 版本的web应用
  • 集成lombok、mybatis、log4j等
  • 集成一个前端模板,我这里使用的是freemarker。你可以根据自己需要整合jsp、thymeleaf等都可以。

为了让课程尽量的干一点,因为这套课程主要是讲security及web应用安全,所以不会花时间在spring boot整合开源软件,及增删改查怎么写!如果不知道怎么做。可以参考:https://www.jb51.net/article/219845.htm 网上也有很多的资料。

如果你实在不愿意自己集成,下面的是我整合之后的结果,可以直接使用。该项目只用于项目初始化,不包含后面课程的源代码。https://gitee.com/hanxt/boot-security-starter

注意login.html页面的存放位置和其他文件的存放位置不一样。public文件夹里面的html文件可以对外公开访问

login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>首页</title>
</head>
<body>
<h1>字母哥业务系统登录</h1>
<form action="/login" method="post">
    <span>用户名称</span><input type="text" name="username" /> 

    <span>用户密码</span><input type="password" name="password" /> 

    <input type="submit" value="登陆">
</form>
</body>
</html>

index.html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8" />
    <title>字母哥业务管理系统</title>
</head>
<body>
<h1>字母哥业务管理系统</h1>
<a href="/syslog" rel="external nofollow"   >日志管理</a>
<a href="/sysuser" rel="external nofollow"   >用户管理</a>
<a href="/biz1" rel="external nofollow"   >具体业务一</a>
<a href="/biz2" rel="external nofollow"   >具体业务二</a>
</body>
</html>

BizpageController .java

@Controller
public class BizpageController {
    // 登录
    @PostMapping("/login")
    public String index(String username,String password) {
        return "index";  //index.html
    }
    // 日志管理
    @GetMapping("/syslog")
    public String showOrder() {
        return "syslog"; //syslog.html
    }
    // 用户管理
    @GetMapping("/sysuser")
    public String addOrder() {
        return "sysuser"; //sysuser.html
    }
    // 具体业务一
    @GetMapping("/biz1")
    public String updateOrder() {
        return "biz1";  //biz1.html
    }
    // 具体业务二
    @GetMapping("/biz2")
    public String deleteOrder() {
        return "biz2";  //biz2.html
    }
}

syslog.html、sysuser.html、biz1.html、biz2.html内容随便写点,能够方便做内容上的彼此区分即可。

以上就是spring security需求分析与基础环境准备教程的详细内容,更多关于spring security需求分析环境准备的资料请关注我们其它相关文章!

(0)

相关推荐

  • 详解Spring Security的formLogin登录认证模式

    一.formLogin的应用场景 在本专栏之前的文章中,已经给大家介绍过Spring Security的HttpBasic模式,该模式比较简单,只是进行了通过携带Http的Header进行简单的登录验证,而且没有定制的登录页面,所以使用场景比较窄. 对于一个完整的应用系统,与登录验证相关的页面都是高度定制化的,非常美观而且提供多种登录方式.这就需要Spring Security支持我们自己定制登录页面,也就是本文给大家介绍的formLogin模式登录认证模式. 准备工作 新建一个Spring B

  • Spring Security架构以及源码详析

    前言 现在流行的通用授权框架有apache的shiro和Spring家族的Spring Security,在涉及今天的微服务鉴权时,需要利用我们的授权框架搭建自己的鉴权服务,今天总理了Spring Security. Spring Security 主要实现了Authentication(认证,解决who are you? ) 和 Access Control(访问控制,也就是what are you allowed to do?,也称为Authorization).Spring Securit

  • Spring Security+Spring Data Jpa如何进行安全管理

    为了操作简单,我这里引入 Spring Data Jpa 来帮助我们完成数据库操作 1.创建工程 首先我们创建一个新的 Spring Boot 工程,添加如下依赖: 注意,除了 Spring Security 依赖之外,我们还需要数据依赖和 Spring Data Jpa 依赖. 工程创建完成后,我们再在数据库中创建一个空的库,就叫做 withjpa,里边什么都不用做,这样我们的准备工作就算完成了. 2.准备模型 接下来我们创建两个实体类,分别表示用户角色了用户类: 用户角色: @Entity(

  • Spring security权限配置与使用大全

    简介 Spring Security 是为了基于Spring的应用程序提供的声明式安全保护的安全性框架.Spring Security 提供了完整的安全性解决方案,它能够在Web请求级别和方法调用级别处理身份认证和授权.因为基于Spring框架,所以SPring Security充分使用了一览注入和面向切面技术. Spring Security 本质上是借助一系列的 Servlet Filter来提供各种安全性功能,但这并不需要我们手动去添加或者创建多个Filter.实际上,我们仅需要配置一个F

  • spring security环境搭建

    目前Spring官方只提供Maven的下载方式.但在http://maven.springframework.org中有SpringSecurity及其他所有Spring产品的下载方式. http://maven.springframework.org/release/org/springframework/中有Spring相关的所有下载,但好像直到3.2版的,最新的版本在这个里面找不到 http://maven.springframework.org/release/org/springfra

  • spring security需求分析与基础环境准备教程

    目录 前言 一.需求分析 二.环境准备 前言 Spring Security企业安全认证系列文章,本专栏内容目前已经比较系统了,核心内容也相对完整,本系列文章会根据Spring Security社区的发展逐步的更新内容.请大家多多关注我们~ 前文传送门: SpringSecurity框架简介及与shiro特点对比 一.需求分析 login.html登录页面,登录页面访问不受限制 在登录页面登录之后,进入index.html首页(登录验证Authentication) 首页可以看到syslog.s

  • Spring Security获取用户认证信息的实现流程

    目录 登录用户数据获取 SecurityContextHolder SecurityContextHolderStrategy 多线程情况下获取用户数据 页面上获取用户信息 登录用户数据获取 SecurityContextHolder ​ Spring Security 会将登录用户数据保存在 Session 中.但是,为了使用方便,Spring Security在此基础上还做了一些改进,其中最主要的一个变化就是线程绑定.当用户登录成功后,Spring Security 会将登录成功的用户信息保

  • Spring Boot 2.x基础教程之使用@Scheduled实现定时任务的方法

    我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信.邮件之类的操作,也可能会定时地检查和监控一些标志.参数等. 创建定时任务 在Spring Boot中编写定时任务是非常简单的事,下面通过实例介绍如何在Spring Boot中创建定时任务,实现每过5秒输出一下当前时间. 在Spring Boot的主类中加入@EnableScheduling注解,启用定时任务的配置 @SpringBootApplication @EnableScheduling publi

  • spring jpa集成依赖的环境准备及实体类仓库编写教程

    目录 一.SpringBoot集成Hibernate JPA的依赖 二.环境准备 1.配置文件 2.创建data.sql和schema.sql 三.实体类 四.编写仓库 1.代码编写 2.CRUD基础操作 3.稍微复杂操作 4.更复杂一点的操作 一.SpringBoot集成Hibernate JPA的依赖 compile( //hibernate 'org.springframework.boot:spring-boot-starter-data-jpa', 'org.hibernate:hib

  • Eclipse搭建spring开发环境图文教程(推荐)

    1 安装 springsource-tool-suite: (1)在官网上找安装Eclipse的对应版本(我的Eclipse版本是4.5.1,对应版本是3.7.2) http://download.springsource.com/release/TOOLS/update/3.7.2.RELEASE/e4.5/springsource-tool-suite-3.7.2.RELEASE-e4.5.1-updatesite.zip (2)INSTALL NEW SOFTWARE (3)下载sprin

  • macOS下Spring Boot开发环境搭建教程

    macOS搭建Spring Boot开发环境,具体内容如下 软硬件环境 macOS Sierra java 1.8.0_65 maven 3.5.0 idea 2017.1.5 前言 最近接触了一点java web相关的知识,了解一下最近比较火的开发框架Spring Boot,站在一个从未涉足过java web和spring的开发者角度来讲,spring boot确实是一个非常不错的框架,配置简单,容易入门,对于想入行java web的童鞋,是一个很好的切入点. maven安装 这里选择mave

  • Spring Boot 2.x基础教程之配置元数据的应用

    在使用Spring Boot开发应用的时候,你是否有发现这样的情况:自定义属性是有高量背景的,鼠标放上去,有一个Cannot resolve configuration property的配置警告. 如果不对于这个警告觉得烦,想要去掉,那么可以通过设置来去除: 但是,我的建议是不要去掉,因为这个警告正好可以通过高亮来区分你的自定义配置以及框架配置,可以让你快速的分辨哪些是自定义的. 如果你实在想去掉,那么也不建议用上面说的方法,而是建议通过完善配置元数据的方式来完成.所以,今天就来具体说说配置元

  • Spring Security系列教程之会话管理处理会话过期问题

    目录 前言 一. 会话过期 1. 会话过期概念 2. Session的超时时间 3. 会话过期时的处理策略 二. 会话过期时的处理策略(一) 1. 配置会话过期时间 2. 定义测试接口 3. 配置跳转到某个URL 4. 启动测试 三. 会话过期时的处理策略(二) 1. 自定义MyInvalSessionStrategy类 2. 配置自定义过期策略 前言 在上一章节中,一一哥 给各位讲解了HTTP协议.会话.URL重新.会话固定攻击等概念,并且实现了对会话固定攻击的防御拦截. 在Spring Se

  • Spring Security十分钟入门教程

    目录 写在前面 目标 开始 不引入Spring Security访问接口 引入Spring Security访问接口 退出登录 后记 写在前面 我们在学习技术的过程中,学习的渠道大概有以下几种:看书,视频,博客.我们会发现,一种技术开始流行的时候,各种形式的讲述也就出现了.那么,出书,录视频,写博客的人,在他们之前,是没有什么现成的东西让他们学习的,他们是怎么上手的呢?换句话说,怎么才能有效的快速的上手一门技术呢? 这篇文章,我们一起从零开始学习SpringSecurity,技术点不重要,重要的

随机推荐