目录

Life in Flow

知不知,尚矣;不知知,病矣。
不知不知,殆矣。

单点登录(Single Sign On):Shiro➕JWT

认证  认证就是要核验用户的身份,比如说通过用户名和密码来检验用户的身份。说简单一些,认证就是登陆。登陆之后 Shiro 要记录用户成功登陆的凭证。 授权  没有授权机制的 web 系统是很危险的,所有用户在登录成功之后都是超级管理员,都可以调用 CRUD 的 API。  授权是比认证更加精细度的划分用户的行为。比如说一个教务管理系统中,学生登陆之后只能查看信息,不能修改信息。而班主任就可以修改学生的信息。这就是利用授权来限定不同身份用户的行为。 Shiro 靠什么做认证与授权的?  Shiro 可以利用 HttpSession 或者 Redis 存储用户的登陆凭证,以及角色或者身份信息。  利用过滤器 (Filter),对每个 Http 请求过滤,检查请求对应的 HttpSession 或者 Redis 中的认证与授权信息。如果用户没有登陆,或者权限不够,那么 Shiro 会向客户端返回错误信息。  也就是说,我们写用户登陆模块的时候,用户登陆成功之后,要调用 Shiro 保存登陆凭证。然后查询用户的角色和权限,让 Shiro 存储起来。将来不管哪个方法需要登陆访问,或者拥有特定的角....

抵御跨站脚本攻击XSS

XSS  XSS 攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是 JavaScript,但实际上也可以包括 Java、 VBScript、ActiveX、 Flash 或者甚至是普通的 HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和 cookie 等各种内容。  解决方案:将用户的数据进行转义 Hutool  Hutool 是一个 Java 工具包类库,对文件、流、加密解密、转码、正则、线程、XML 等 JDK 方法进行封装,组成各种 Util 工具类   1<dependency> 2 <groupId>cn.hutool</groupId> 3 <artifactId>hutool-all</artifactId> 4 <version>5.4.0</version> 5 </dependency> 对 Http 请求中的数据做转义 ....

验证库Validation

依赖 1<dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-validation</artifactId> 4 </dependency> 校验类 TestSayHelloForm 1package com.example.emos.wx.controller.form; 2 3import io.swagger.annotations.ApiModel; 4import io.swagger.annotations.ApiModelProperty; 5import lombok.Data; 6 7import javax.validation.constraints.NotBlank; 8import javax.validation.constraints.Pattern; 9 10@ApiModel 11@Data 12public class TestS....

Swagger开启JWT

依赖 1<dependency> 2 <groupId>io.springfox</groupId> 3 <artifactId>springfox-swagger2</artifactId> 4 <version>2.9.2</version> 5 </dependency> 6 <dependency> 7 <groupId>io.springfox</groupId> 8 <artifactId>springfox-swagger-ui</artifactId> 9 <version>2.9.2</version> 10 </dependency> 配置类 1package soulboy.emos.wx.config; 2 3import io.swagger.annotations.ApiOperation; 4import org.springframewo....

Maven Repository

官网 常用依赖 devtools 1<dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-devtools</artifactId> 4 <scope>runtime</scope> 5 <optional>true</optional> 6 </dependency> Druid 1<dependency> 2 <groupId>com.alibaba</groupId> 3 <artifactId>druid-spring-boot-starter</artifactId> 4 <version>1.1.13</version> 5 </dependency> swagger2 1<dependency> 2 <groupId&g....

VUE

vscode 插件 快速上手 引包  (如需下载自己要的版本在 vue 后面加上 @ 版本号) 1# 下载vue,选取 vue.js 文件 2npm install vue //cnpm install vue 3 4# 页面引入刚下载的包 5<script type="text/javascript" src="vue.js"></script> 留坑  即留一个 vue 模板插入的地方或者是 vue 代码对其生效的地方 1<div id="app"></div> 实例化  创建 Vue 实例 示例 1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>Document</title> ....

SSM

需求和步骤分析  使用 ssm 框架完成对 account 表的增删改查操作  步骤分析 11. 准备数据库和表记录 22. 创建web项目 33. 编写mybatis在ssm环境中可以单独使用 44. 编写spring在ssm环境中可以单独使用 55. spring整合mybatis 66. 编写springMVC在ssm环境中可以单独使用 77. spring整合springMVC 环境搭建 创建 web 项目,导入依赖 1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersio....