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

 更新时间:2022年03月17日 14:53:14   作者:字母哥博客  
这篇文章主要为大家介绍了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需求分析环境准备的资料请关注脚本之家其它相关文章!

相关文章

  • 详解Java如何关闭线程以及线程池

    详解Java如何关闭线程以及线程池

    java如何正确关闭线程以及线程池是一个高频的面试题,本文将为大家详细介绍实现的方法与代码,感兴趣的小伙伴快跟随小编一起学习一下
    2022-04-04
  • Spring Mvc中CommonsMultipartFile的特性实例详解

    Spring Mvc中CommonsMultipartFile的特性实例详解

    这篇文章主要给大家介绍了关于Spring Mvc中CommonsMultipartFile特性的相关资料,SpringMVC拥有强大的灵活性,非侵入性和可配置性,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • Spring Boot项目中使用OpenAI-Java的示例详解

    Spring Boot项目中使用OpenAI-Java的示例详解

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,这篇文章主要介绍了Spring Boot项目中使用OpenAI-Java的示例详解,需要的朋友可以参考下
    2023-04-04
  • Java开发常用类库之Hutool详解

    Java开发常用类库之Hutool详解

    这篇文章主要介绍了Java开发常用类库之Hutool,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • 关于SpringBoot改动后0.03秒启动的问题

    关于SpringBoot改动后0.03秒启动的问题

    这篇文章主要介绍了SpringBoot改动后0.03秒启动,本文结合示例代码给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • Spring-Security实现登录接口流程

    Spring-Security实现登录接口流程

    Security 是 Spring 家族中的一个安全管理框架,SpringSecurity的原理其实就是一个过滤器链,内部包含了提供各种功能的过滤器,这篇文章主要介绍了Spring-Security实现登录接口,需要的朋友可以参考下
    2023-05-05
  • Springboot登录验证的统一拦截处理的实现

    Springboot登录验证的统一拦截处理的实现

    如果不进行统一的拦截处理,每次用户请求你都要去进行用户的信息验证,所以本文主要介绍了Springboot登录验证的统一拦截处理的实现,感兴趣的可以了解一下,感兴趣的可以了解一下
    2023-09-09
  • 浅析Java中的继承与组合

    浅析Java中的继承与组合

    本文将介绍组合和继承的概念及区别,并从多方面分析在写代码时如何进行选择。文中通过示例代码介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • 详解springboot-mysql-pagehelper分页插件集成

    详解springboot-mysql-pagehelper分页插件集成

    这篇文章主要介绍了springboot-mysql-pagehelper分页插件集成,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Java基本类型和包装类型的区别

    Java基本类型和包装类型的区别

    这篇文章主要介绍了Java基本类型和包装类型的区别,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-09-09

最新评论