- 博客(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关注的人