自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Spring Security(四)基于redis的分布式认证鉴权解决方案

项目介绍方案介绍​ 基于数据库的认证鉴权方式,登录之后会产生一个session存储在内存之中,然后将sessionId返回给客户端,后续客户端请求资源时,会将sessionId携带上,服务端根据sessionId判断用户的登录状态,如果用户登录过,则放行,如果没有登录,则会被拦截,跳转到登录页面重新登录,但这种将登录状态以及信息放在内存中的方式会带来两个问题:由于session产生后放在服务器的内存之中,服务器因为某种原因(宕机或者更新)重启之后,则所有的session都会丢失,那么登录过的所有用户

2020-08-25 15:34:49 2123

原创 Spring Security(三)自定义查询过程的解决方案

项目整体介绍​ Spring Security整合Mybaits自定义查询实现认证鉴权,项目结构:项目构建数据表创建以及用户数据导入DROP TABLE IF EXISTS `users`;CREATE TABLE `users` ( `username` varchar(50) NOT NULL, `password` varchar(500) NOT NULL, `enabled` tinyint(1) NOT NULL, PRIMARY KEY (`username`))

2020-08-25 15:29:05 333

原创 Spring Security(二)基于数据库认证鉴权解决方案

项目介绍Spring Boot + Spring Security + mysql,基于数据库的认证鉴权实现;代码地址:https://github.com/xdouya/Spring-Security-demo/tree/master/02-jdbc-security项目目录结构:项目构建数据表创建及用户数据导入DROP TABLE IF EXISTS `users`;CREATE TABLE `users` ( `username` varchar(50) NOT NULL, `

2020-08-25 15:24:55 595

原创 基于cookie\sessionID\token\JWT的认证状态保持介绍

HTTP无状态协议​ Http协议是一t种无状态协议,协议对于交互的场景没有扩展功能。无状态有一系列的好处:可以将请求发送到集群中的任意一点点进行处理,方便实现负载均衡等。无状态意味着服务端不要保存用户的状态的状态信息,能够节约大量的资源,有利于高并发​ 但是有些时候是需要保存状态信息的,比如说请求资源的时候,需要保存用户的登录信息;基于cookies​ cookies只能携带4kb的数据,且不支持跨域请求,用户信息存储在客户端,容易被第三方获取,另外还有csrf风险;基于sessionI

2020-08-17 11:43:43 291

原创 Spring Security(一)基于内存的认证鉴权解决方案

Spring Boot整合Spring Security实现单点登录(一)一 Spring Security1. Spring Security简介​ Spring Security是为Spring 应用程序提供声明式安全保护的安全性框架,所谓的安全框架就是对应用进行安全保护,包括认证(Authentication)和授权(Authorization)两大功能;认证和授权两个含义不同的术语;认证:是指验证某个用户是否为系统中的合法主体,比如通过提供用户名密码,或者令牌等凭证来证明用户是否为系..

2020-08-09 18:11:55 589

原创 zookeeper安装与使用介绍

(一) ZooKeeper是什么?官方上是这么介绍的:ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.All of these kind...

2019-11-09 10:13:31 301

原创 spring cloud stream+Kafka实现消息传递

(一) 为什么要消息传递在构建微服务应用程序中很重要 回答这个问题之前,首先介绍一个概念事件驱动架构(EDA):使用异步消息实现事件之间的通信,也被称为消息驱动架构(MDA). 而基于EDA的方法允许开发人员构建高度解耦的系统,它可以对变更做出反应,而不需要与特定的库或者服务紧密耦合.当与微服务结合之后,.EDA通过让服务监听由应用程序发出的事件流(消息)...

2019-10-24 23:15:31 3466 3

原创 Springcloud + OAuth2 + Spring boot Sercutrity + Redis + mysql 实现分布式项目的单点认证和鉴权

项目源码:https://github.com/xdouya/Spring-cloud-OAtuh2;首先介绍一下OAuth2 OAuth2是一个基于令牌的安全验证和授权框架,允许用户使用第三方验证标准服务进行验证.如果用户成功进行了验证,则会出示一个令牌,该令牌必须与每个请求一起发送,然后验证服务可以对令牌进行确认; OAuth2的主要目的是,在调用多个服务来完成用...

2019-10-16 20:20:37 459

原创 springboot整合redis做缓存管理详解

Redis安装 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,...

2019-07-14 20:26:07 1097 1

原创 机器学习实战代码详解(12)使用FP-growth算法来高效发现频繁集

#coding=utf-8#树节点结构定义class treeNode: def __init__(self, nameValue, numOccur, parentNode): self.name = nameValue self.count = numOccur self.nodeLink = None self.par

2017-10-30 17:19:17 636

原创 机器学习实战代码详解(11)使用Apriori算法进行关联分析

#coding=utf-8def loadDataSet(): return [[1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]]#创建集合C1,集合C1为所有大写为1的候选集的集合def createC1(dataSet): C1 = [] for transation in dataSet: for item in t

2017-10-29 15:37:21 519

原创 机器学习实战代码详解(九)树回归

regCART.py#coding=utf-8from numpy import *def loadDataSet(fileName): dataMat = [] fr = open(fileName) for line in fr.readlines(): curLine = line.strip().split('\t') fltLine

2017-10-18 17:19:18 594

原创 机器学习实战代码详解(八)预测数值型数据:回归

#coding=utf-8#数据导入行数from numpy import *def loadDataSet(fileName): numFeat = len(open(fileName).readline().split('\t')) - 1 dataMat = []; labelMat = [] fr = open(fileName) for line in

2017-10-11 16:33:11 502

原创 机器学习实战代码详解(七)利用AdaBoost元算法提高分类性能

#coding=utf-8from numpy import *def loadSimpData(): dataMat = matrix([[1.0, 2.1], [2.0, 1.1], [1.3, 1.0], [1.0, 1.0],

2017-10-09 20:41:46 331

原创 《Effective C++》读后总结(三)尽量使用const

将某些东西声明为const可以帮助编译器侦测出错误用法。const可被施加于任何作用域内的对象,函数参数,函数返回类型,成员函数本体。class Rational {.....}const Rational operator* (const Rational &lhs, const Rational rhs);使用const的好处在于可以防止以下情况if(a * b = c) //比

2017-10-06 18:10:57 256

原创 机器学习实战代码详解(五)Logistic回归

#coding=utf-8from numpy import *#----------加载数据-------------def loadDataSet(): dataMat = []; labelMat = [] fr = open('testSet.txt') #读取样本 for line in fr.readlines(): lin

2017-10-06 15:50:44 1038

原创 python机器学习实战 getA()函数详解

在机器学习实战一书的第五章中出现了getA()这个函数logRegres.plotBestFit(weight.getA())当输入下下代码时logRegres.plotBestFit(weight)会出现错误,原因在于下面这一段代码中len(x) = 60, 而len(y) = 1 x = arange(-3.0, 3.0, 0.1) y = (-weights[0] - weights[1]

2017-10-05 17:01:09 7270 1

原创 机器学习实战代码详解(四)朴素贝叶斯

#coding=utf-8from numpy import *#--------词表到向量对转换函数---------#创建实验样本def loadDataSet(): postingList = [['my', 'dog', 'has', 'flea', 'problem', 'help', 'please'], ['maybe', 'not

2017-10-04 21:48:09 683

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除