基于 Cookie 的 SSO 中间件 kisso
kisso = cookie sso
基于 Cookie 的 SSO 中间件,它是一把快速开发 java Web 登录系统(SSO)的瑞士军刀。欢迎大家使用 kisso !!
1、支持单点登录
2、支持登录Cookie缓存
3、支持防止 xss攻击, SQL注入,脚本注入
4、支持 Base64 / MD5 / AES / PBE / RSA 算法
5、支持浏览器客户端校验
6、支持Cookie参数配置及扩展
7、支持跨域登录,模拟登录
8、支持在线人数统计
9、支持生成动态图片验证码
10、支持 app 移动端 api 服务验证,采用微信公众平台 api 验证机制认证
11、自带权限验证逻辑,支持基础 Shiro , SpringSecurity 权限系统
kisso_ApiServer 移动 APP 端 API 演示 demo
Maven 坐标:
http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.baomidou%22%20AND%20a%3A%22kisso%22
1
2
3
4
5
|
<dependency> <groupId>com.baomidou</groupId> <artifactId>kisso</artifactId> <version>Maven </dependency> |
是单点登录系统,它给你制定好了规则按照它的要求做就可以,配置(复杂)好一切即可实现单点登录。
是一个中间件,提供 cookie 搭建 java web sso 的组件式解决方案。你不管使用任何架构都可以使用它,就像一个 U 盘需要使用就插入、不用就拔掉。
集中验证,所有请求都由 cas 集中验证,缺点cas服务压力巨大。kisso 分散验证,由各个系统验证 cookie 合法性,缺点秘钥要保护好。
cookie 而不是 session 它们有何区别 ?
采用的是加密会话 cookie 浏览器关闭立即失效,同时支持后台登录超时自动退出,支持客户端浏览器验证、访问 ip 及 cookie 安全配置等。
存放在服务器端,cookie 存放在客户端,存在 2 种状态:“ 第一种:持久 cookie 具有时效性,以文件的形式存放在客户机硬盘中,时间一到生命周期结束自动被删除。第二种:临时 cookie 又叫会话 cookie 放在浏览器内存中,浏览器关闭生命周期结束自动失效 ”。
session 更安全,如果 cookie 采取各种安全保护措施,此时的 cookie 一样安全。
轻松实现分布式服务部署,单点登录跨域访问等问题,换成 session 需要处理 session 复制及各种问题实现困难。
demo 提供的例子运行跑通后,再修改不要上来就急急忙忙改,不会了就截图发问,这样一则没有理解透彻实现原理,二则耽误别人的时间,实在是得不偿失。
? 这里跨域有 2 种 :
第一种、同一个根域名不同子域名,比如 my.baomidou.com 、 sso.baomidou.com 、other.baomidou.com 此时配置 domain 只需要配置 .baomidou.com 即可。
查看普通 demo : kisso_JFinal
演示 demo kisso_SpringMvc
演示 demo
第二种、完全不同的域名,比如 sso.baomidou.com git.oschina.net 此时比较复杂 kisso 采用的是 rsa 加密询问验证(较复杂)
查看跨域 demo: kisso_crossdomain
跨域演示 demo
除了密钥、域名、必须修改,其他默认配置或根据需要选择配置即可 查考点击 根据自己的需求选择配置。
很多朋友问?都谁在用 kisso !?
不要问我星星有几颗, 我会告诉你很多很多!!(保密)
(1)sso 登录状态
(2)跨域登录
hosts:
127.0.0.1 sso.test.com
127.0.0.1 my.web.com
访问 my.web.com:8090/index.html 如果未登录会重定向至sso域登录页面
登录成功 my.web.com 如图
普通登录
基于 Cookie 的 SSO 中间件 kisso的更多相关文章
- SSO 中间件 kisso
SSO 中间件 kisso kisso = cookie sso,基于 Cookie 的 SSO 中间件.kisso 不是一套完整的登录系统, 它的定位是一把高速开发 java Web 单点登录系 ...
- 基于Cookie的SSO登录分析和实现
什么是SSO? 现在很多大的互联网公司都会有很多的应用,比如以下是淘宝网的截图: 天猫 聚划算 头条等都是不同的应用,有的甚至采用完全不同的域名,但是所有在淘宝注册的用户都是使用的一套用户名和口令,如 ...
- 基于cookie的SSO单点登录系统
利用COOKIE实现单点登录功能 近期公司要求帮一个项目实现单点登录功能,在综合考量下决定采用cookie实现,大概的流程如下图所:
- SSO 基于Cookie+fliter实现单点登录(SSO):工作原理
SSO的概念: 单点登录SSO(Single Sign-On)是身份管理中的一部分. SSO的一种较为通俗的定义是:SSO是指訪问同一server不同应用中的受保护资源的同一用户,仅仅须要登录一次,即 ...
- Asp.Net Core基于Cookie实现同域单点登录(SSO)
在同一个域名下有很多子系统 如:a.giant.com b.giant.com c.giant.com等 但是这些系统都是giant.com这个子域. 这样的情况就可以在不引用其它框架的情况下, ...
- 基于cookie共享的SSO中的遇到的问题
什么是SSO? 现在很多大的互联网公司都会有很多的应用,比如以下是淘宝网的截图: 天猫 聚划算 头条等都是不同的应用,有的甚至采用完全不同的域名,但是所有在淘宝注册的用户都是使用的一套用户名和口令,如 ...
- ASP.NET Core Authentication系列(四)基于Cookie实现多应用间单点登录(SSO)
前言 本系列前三篇文章分别从ASP.NET Core认证的三个重要概念,到如何实现最简单的登录.注销和认证,再到如何配置Cookie 选项,来介绍如何使用ASP.NET Core认证.感兴趣的可以了解 ...
- Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录
1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...
- 基于cookie的用户登录状态管理
cookie是什么 先来花5分钟看完这篇文章:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Cookies 看完上文,相信大家对cookie已经有 ...
随机推荐
- JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat(复制)
jstack -- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程 ...
- Ubuntu下Matlab代码中中文注释乱码解决方案
环境:Ubuntu18.04,Matlab R2017b. 把matlab文件从windows拷贝到Ubuntu中,打开发现原先的中文注释全部乱码.真正原因是因为windows中.m文件采用的是gbk ...
- caioj 1075 动态规划入门(中链式2:能量项链)(中链式dp总结)
我又总结了一种动归模型-- 这道题和上一道题很类似,都是给一个序列,然后相邻的元素可以合并 然后合并后的元素可以再次合并 那么就可以用这两道题类似的方法解决 简单来说就是枚举区间,然后枚举断点 加上断 ...
- Unity C# 设计模式(五)建造者模式
定义: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 组成部分: 1.Builder:给出一个抽象接口,以规范产品对象的各个组成成分的建造.这个接口规定要实现复杂对象的哪 ...
- 个人学习源码的 HBase误区的总结 与 架构图
HDFS 的备份功能不是给 基于 HBase 等 基于HDFS 的项目做备份的. 如果 HBase 需要备份,那么久需要设置 备份(快照 )功能. HMaster . kafka 等无主结构并 ...
- Vs2012在Linux开发中的应用(1):开发环境
在Linux的开发过程中使用过多个IDE.code::blocks.eclipse.source insight.还有嵌入式厂商提供的各种IDE.如VisualDsp等,感觉总是不如vs强大好用.尽管 ...
- Thrift 基础教程(一)安装篇
1.Thrift简单介绍 Thrift是一款由Fackbook开发的可伸缩.跨语言的服务开发框架,该框架已经开源而且增加的Apache项目.Thrift主要功能是:通过自己定义的Interface D ...
- xml里面product的值在哪里设置的?
转载请注明出处:http://blog.csdn.net/droyon/article/details/39890469 在进行Android应用程序开发时,善于运用xml中的product配置,能够 ...
- android 聊天室窗体
public class MainActivity extends Activity { ScrollView scrollView; Button button; LinearLayout layo ...
- JWT Authentication Tutorial: An example using Spring Boot--转
原文地址:http://www.svlada.com/jwt-token-authentication-with-spring-boot/ Table of contents: Introductio ...