zoukankan      html  css  js  c++  java
  • 基于 Cookie 的 SSO 中间件 kisso

    kisso   cookie sso

    基于 Cookie 的 SSO 中间件,它是一把快速开发 java Web 登录系统(SSO)的瑞士军刀。欢迎大家使用 kisso !! 


    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 依赖 jars

    kisso_oauth2 演示 demo

    kisso_ApiServer 移动 APP 端 API 演示 demo

    kisso_JFinal 演示 demo

    kisso_SpringMvc 演示 demo

    kisso_crossdomain 跨域演示 demo

    实例演示 SSM 架构后台管理系统


    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 官方最新版本为准</version>
    </dependency>



    (1)、kisso 是什么,与 cas 区别 ?

                1、cas 是单点登录系统,它给你制定好了规则按照它的要求做就可以,配置(复杂)好一切即可实现单点登录。

                2、kisso 是一个中间件,提供 cookie 搭建 java web sso 的组件式解决方案。你不管使用任何架构都可以使用它,就像一个 U 盘需要使用就插入、不用就拔掉。

                3、cas 集中验证,所有请求都由 cas 集中验证,缺点cas服务压力巨大。kisso 分散验证,由各个系统验证 cookie 合法性,缺点秘钥要保护好。



    (2)、为什么是 cookie 而不是 session 它们有何区别 ?

                kisso 采用的是加密会话 cookie 浏览器关闭立即失效,同时支持后台登录超时自动退出,支持客户端浏览器验证、访问 ip 及 cookie 安全配置等。

                1、session 存放在服务器端,cookie 存放在客户端,存在 2 种状态:“ 第一种:持久 cookie 具有时效性,以文件的形式存放在客户机硬盘中,时间一到生命周期结束自动被删除。第二种:临时 cookie 又叫会话 cookie 放在浏览器内存中,浏览器关闭生命周期结束自动失效 ”。

                2、单纯不做任何改变而言 session 更安全,如果 cookie 采取各种安全保护措施,此时的 cookie 一样安全。

                3、cookie 轻松实现分布式服务部署,单点登录跨域访问等问题,换成 session 需要处理 session 复制及各种问题实现困难。


    (3)、经常被问及的问题 ?

                在此重申下,下载源码的朋友先按照 demo 提供的例子运行跑通后,再修改不要上来就急急忙忙改,不会了就截图发问,这样一则没有理解透彻实现原理,二则耽误别人的时间,实在是得不偿失。


               1、跨域是什么 ? 这里跨域有 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


             2、改成 ip 支持么 ?

            支持! 注意访问时候使用 ip 访问,domain 的配置 ip 即可,不要是  .192.168.1.3  注意此时不要在前面加个  .  点。


            3、sso.properties  怎么去配置 ?

        除了密钥、域名、必须修改,其他默认配置或根据需要选择配置即可 查考点击 根据自己的需求选择配置。


        很多朋友问?都谁在用 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 如图 


    普通登录

  • 相关阅读:
    数据仓库-(3)企业级数仓实战分享课程-1.课程简介/2.数仓简介/3.基础概念/4.大数据技术栈与组件
    数据仓库-(2)企业级数仓介绍
    数据仓库-(1)数仓主题分享记录
    Spark学习小记-(1)DataFrame的schema
    Hive学习小记-(11)left semi join
    Hive学习小记-(10)hive增量下发的变化流水表如何做update操作
    Hive学习小记-(9)hive分区表加字段**
    Hive学习小记-(8)hive查询除某列外所有数据(正则表达式查询)
    Hive学习小记-(7)group by原理&tips
    我曾七次鄙视自己的灵魂
  • 原文地址:https://www.cnblogs.com/jpfss/p/9273689.html
Copyright © 2011-2022 走看看