1 Star 0 Fork 272

fxsun / smart

forked from a466350665 / smart-sso 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

smart-sso

License PRs Welcome GitHub stars GitHub forks

QQ交流群:454343484🈵、769134727(提供开发工具下载)

简述

   smart-sso使用当下最流行的SpringBoot + Mybatis技术,参考并简化Cas单点登录协议,为您构建一个易理解、高可用、高扩展性的单点登录权限管理应用基层。

部署文档

组织结构

smart-sso
├── smart-sso-client -- 客户端依赖包,提供登录认证、授权管理
├── smart-sso-demo -- 客户端
├── smart-sso-server -- 服务端

技术选型

后端

  • JDK:1.8+
  • 数据库:Mysql
  • 项目构建工具:Maven 3.3.3
  • API文档:Springfox-Swagger2 2.6.1
  • MVC框架:SpringBoot 2.1.0.RELEASE
  • 核心框架:Spring 5.1.2.RELEASE
  • ORM框架:MyBatis 3.5.1
  • RPC框架:hessian 4.0.38
  • JSON工具:Fastjson 1.2.69
  • 数据库连接池:Druid 1.0.15
  • 日志管理:SLF4J 1.7.21
  • 单点登录:极简参考Cas单点登录协议实现

前端

浏览器兼容

  • Internet Explorer 11
  • Internet Explorer 10
  • Internet Explorer 9
  • Internet Explorer 8
  • Google Chrome 14+
  • Firefox 5+
  • Safari 5
  • Opera 11
  • 手机浏览器兼容

对比Cas + Shiro

请求协议

  • Cas:默认https,如果使用http需要把cas server解压修改配置参数。
  • Smart:默认http,可选配为Https,减少配置,降低门槛。

配置层面

  • Cas:在web.xml中指定的TicketValidationFilter、AuthenticationFilter及SingleSignOutFilter存在重复的serverName参数,serverName的修改,需要分别修改三处。
  • Smart:将serverName定义在properties文件中,通过Spring注入,简化配置。(毕竟当今大部分Java项目都会用到Spring框架)

耦合度

  • Shiro:大家更多是熟悉通过annotation或者配置文件的方式去控制权限,有相对较低的耦合。
  • Smart:将权限集中管理在权限系统,需要的时候配置Filter,几乎无耦合。

权限变动服务重启

  • Shiro:通过annotation或者配置文件配置的权限,修改都需要重启服务。
  • Smart:权限的修改通过MQ广播(可选配),服务无需重启。

分布式部署

  • Shiro:通常大家部署依赖Shiro注入的RedisSession。
  • Smart:通过大家更为常用的Spring,覆盖HttpSession注入RedisSession。

注:Cas和Shiro的风光伟绩就无需笔者在此多加吹捧,现在只是关起门来聊聊Smart的优势,当然个人的理解和知识面也有限,有描述不对的地方,也欢迎大家加群探讨。友善!勿喷!谢谢!

架构图

架构图

单点登录原理

单点登录原理

单点退出原理

单点退出原理

数据库模型

数据库模型

效果展示

代码展示

API文档

API文档

Dubbo监控页

单点登录页

权限管理页

手机浏览器展示

作者寄语

艺术地做好一件擅长的事

空文件

简介

Java单点登录权限系统,权限按钮级、修改实时生效、支持分布式、支持SpringBoot客户端 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/fxsun/smart.git
git@gitee.com:fxsun/smart.git
fxsun
smart
smart
master

搜索帮助

14c37bed 8189591 565d56ea 8189591