分享一个单点登录、OAuth2.0授权系统源码(SimpleSSO)
SimpleSSO
关于OAuth 2.0介绍:
http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
系统效果:
登录界面:

首页:

应用界面:

编辑弹出框:

测试OAuth 2.0界面:

第三方授权界面(Demo演示的是implicit grant type):

说明:
初始化:菜单:SimpleSSO应用->应用ShowCase,需要运行
第一次运行,需要在SimpleSSO/Config/connectionStrings.config配置数据库连接,会自动生成数据库及测试数据(admin/123) 使用用户:admin,密码:选择角色登录,修改测试数据可能会导致Demo失效,如果端口被占用,修改端口,需要查找使用到端口的代码进行替换SimpleSSOTest,可运行授权Demo,password授权时会给管理员发送消息
系统分层:
FreeBird.Infrastructure 基础设施层:包含通用功能,主要封装实现了Ioc容器上下文、IRepository、秘钥存储、缓存、拦截器、异常类型、读写锁
SimpleSSO.Domain 领域层:主要为数据库实体,只依赖于FreeBird.Infrastructure,可扩展IRepository接口给SimpleSSO.Application层使用
SimpleSSO.DTO DTO 展示层业务层桥梁
SimpleSSO.Application 业务层,依赖于上面三层,不能依赖于SimpleSSO.EFRepositories(这个很重要)
SimpleSSO.EFRepositories 领域层使用EF的一种实现,DBContext、Map、EFRepository、UnitOfWork,实现IRepository及领域层扩展的IRepository
SimpleSSO 站点
SimpleSSOTest OAuth测试站点
使用组件:
后台:
Autofac IOC容器,mvc,WepApi集成.
AutoMapper 对象映射
Katana.Microsoft.Owin.Security.OAuth 实现OAuth2.0规范.NET开源框架.
Microsoft.AspNet.WebApi.Cors 跨域.
EF 微软开源ORM框架,系统使用CodeFirst模式,其实个人偏爱使用DBFirst.
EntityFramework.Extended EF扩展.
SignalR 及时通信框架.
部分源码参考借鉴自项目:Nopcommerce.
前端:
bootstrap
admin-lte bootstrap UI模板
bootstrap-table
bootstrapValidator
fileinput
jquery-ui
select2
toastr
jquery-linq
源代码:https://github.com/zhoufeihong/SimpleSSO
分享一个单点登录、OAuth2.0授权系统源码(SimpleSSO)的更多相关文章
- 分享一个与ABP配套使用的代码生成器源码
点这里进入ABP系列文章总目录 分享一个与ABP配套使用的代码生成器源码 真对不起关注我博客的朋友, 因最近工作很忙, 很久没有更新博客了.以前答应把自用的代码生成器源码共享出来, 也一直没有时间整理 ...
- 整合了一个功能强大完善的OA系统源码,php全开源 界面漂亮美观
整合了一个功能强大完善的OA系统源码,php全开源界面漂亮美观.需要的同学联系Q:930948049
- 购买的wemall 6.0商城系统源码分享
使用方法 1.解压目录 2.cd wemall6 && npm i 3.配置config下的config.json 4.npm start 摒弃以往的开发框架thinkphp,使用no ...
- 分享一个难得的YiBo微博客户端应用源码Android版
今天给大家分享一款,YiBo微博客户端应用源码,这是一款专为Android用户打造的聚合型微博客户端,完美支持新浪微博.腾讯微博.搜狐微博.网易微博和饭否五个微博平台,界面清爽,使用简单轻巧,支持多账 ...
- 分享一个基于web的满意度调查问卷源码系统
问卷调查系统应用于各行各业,对于企业的数据回收统计分析战略决策起到至关作用.而现有的问卷调查系统大都是在线使用并将数据保存在第三方服务器上.这种模式每年都要缴纳费用并且数据安全性得不到保证.所以说每个 ...
- SSO单点登录系列1:cas客户端源码分析cas-client-java-2.1.1.jar
落雨 cas 单点登录 希望能给以后来研究cas的兄弟留下一点思路,也算是研究了两天的成果,外国人的代码写的很晦涩,翻译下来也没有时间继续跟进,所以有错误的还请大家跟帖和我讨论,qq 39426378 ...
- 分享一个公众号h5裂变吸粉源码工具
这次我是分享我本人制作的一个恶搞程序,说白了就是一个公众号裂变吸粉工具,市面上有很多引流方法,例如最常见的就是色流,哈哈,今天我跟大家分享的方法是有趣的,好玩的,恶搞的.这个程序上线一天已经收获了61 ...
- 阅读源码很重要,以logback为例,分享一个小白都能学会的读源码方法
作为一个程序员,经常需要读一些开源项目的源码.同时呢,读源码对我们也有很多好处: 1.提升自己 阅读优秀的代码,第一可以提升我们自身的编码水平,第二可以开拓我们写代码的思路,第三还可能让我们拿到大厂 ...
- 单点登录(三)-----实战-----cas server 源码下载和部署
我们在上一篇文章中使用的是4.0版本的cas,4.0版本的有发布好的war包可以直接使用,那如果我们要使用更新的版本怎么办呢? 就需要下载源码自己编辑打包了. 步骤如下: 版本选择 我们在cas的gi ...
随机推荐
- 使用Microsoft的IoC框架:Unity来对.NET应用进行解耦
1.IoC/DI简介 IoC 即 Inversion of Control,DI 即 Dependency Injection,前一个中文含义为控制反转,后一个译为依赖注入,可以理解成一种编程模式,详 ...
- SVN的使用
- [Top-Down Approach]Take Notes
Computer Networking - A Top-Down Approach Six Edition Learn HTTP Using Browser and Proxy 2016-03-20 ...
- 在Linux(Luna)下向Launch启动器中添加图标
记录下在Luna下向Launch中添加图标的步骤,以供以后参考,这里我以加入eclipse图标为例: 首先,我们来创建一个desktop文件(Luna中到启动器Launch可以看作是Ubuntu中到桌 ...
- 《高性能javascript》一书要点和延伸(上)
前些天收到了HTML5中国送来的<高性能javascript>一书,便打算将其做为假期消遣,顺便也写篇文章记录下书中一些要点. 个人觉得本书很值得中低级别的前端朋友阅读,会有很多意想不到的 ...
- 微信硬件H5面板开发(一) ---- 调用openApi
微信硬件平台是微信推出连接物与人,物与物的IOT解决方案.也就是说可以通过微信控制各种智能设备.比如一些蓝牙设备.空调.电视等等. 我本身不懂硬件(虽然是电子信息专业),硬件是北航的两个研究生在弄,小 ...
- 程序猿是如何解决SQLServer占CPU100%的
文章目录 遇到的问题 使用SQLServer Profiler监控数据库 SQL1:查找最新的30条告警事件 SQL2:获取当前的总报警记录数 有哪些SQL语句会导致CPU过高? 查看SQL的查询计划 ...
- 使用自定义 classloader 的正确姿势
详细的原理就不多说了,网上一大把, 但是, 看了很多很多, 即使看了jdk 源码, 说了罗里吧嗦, 还是不很明白: 到底如何正确自定义ClassLoader, 需要注意什么 ExtClassLoade ...
- 创建Github远程仓库
如何创建github远程仓库 首先, 你有先到github网站注册账号https://github.com 然后创建一个项目, Create a new repository 之后在在Reposito ...
- python常用模块
os模块 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os ...