开源项目之kisso
kisso开源项目:https://gitee.com/baomidou/kisso 一、简介 kisso? =? cookie sso 基于 Cookie 的 SSO 中间件,它是一把快速开发 java Web 登录系统(SSO)的瑞 士军刀。 应用场景如下: 1.支持单点登录 2、支持登录Cookie缓存 3、支持防止 xss攻击,SQL注入,脚本注入 4、支持 Base64 / MD5 / AES / PBE / RSA 算法 5、支持浏览器客户端校验 6、支持Cookie参数配置及扩展 7、支持跨域登录,模拟登录 8、支持在线人数统计 9、支持生成动态图片验证码 10、支持 app 移动端 api 服务验证,采用微信公众平台 api 验证机制认证 11、支持踢出指定登录用户 二、kisso 是什么原理与 cas 区别 ? 1.kisso原理说明 ? kisso 采用的是加密会话 cookie 机制实现单点登录 SSO 服务,具备“无状态”、“分散验证” 等特性。
第一种:持久 cookie 具 有时效性,以文件的形式存放在客户机硬盘中,时间一到生命周期结束自动被删除; 第二种:临时 cookie 又叫会话 cookie 放在浏览器内存中,浏览器关闭生命周期结束自动失效。 ? b.单纯不做任何改变而言 session 更安全,如果 cookie 采取各种安全保护措施,此时的 cookie 一样安全。 c.cookie 轻松实现分布式服务部署,单点登录跨域访问等问题,换成 session 需要处理 session 复制及各种问题实现困难。 2.kisso与cas的区别 a.cas 是单点登录系统,它给你制定好了规则按照它的要求做就可以,配置(复杂)好一切即可实 现单点登录; b.kisso 是一个中间件,提供 cookie 搭建 java web sso 的组件式解决方案。你不管使用任何架构都可以使用它,就像一个 U 盘需要使用就插入、不用就拔掉。 c.cas 集中验证,所有请求都由 cas 集中验证,缺点cas服务压力巨大。kisso 分散验证,由各个系 统验证 cookie 合法性,缺点秘钥要保护好。 3.maven依赖 ??? <dependency>
? 注意: ? 三、sso.properties如何配置 sso.secretkey=56jp2s5q83ZTE74ri6
sso.cookie.domain=.baomidou.com
sso.login.url=http://demo.baomidou.com:8080/Blog/views/login.html
? 四、配置 1.web.xml配置 <!-- SSO 配置 --> <context-param> param-name>kissoConfigLocation</> param-value>classpath:properties/sso.properties> > listenerlistener-class>com.baomidou.kisso.web.KissoConfigListener > > ? 2.spring-mvc.xml配置 KISSO 初始化 bean id="kissoInit" class="com.baomidou.kisso.web.WebKissoConfigurer" initmethod="initKisso"> property name="ssoPropPath" value="properties/sso.properties" /> ? 两种方式任选一种即可 ? 五、项目模块 六、跨域原理 ? 七、Web访问流程图 ? ? ? 八、移动端API访问流程图 ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |