基于IdentityServer4的统一验证授权中心

随着企业信息化的深入,一个企业往往会由很多应用系统。以往是每个应用系统分配一个账号给用户,然后用户通过分配的账号登陆系统操作。那么问题就来了,一个用户在A系统可能由一个账号,在B系统也有一个账号,有n个系统就有n个账号。

同一个体制下,同一个人为什么需要如此多的账号。为什么不可以一个账号,可以同时登陆多个应用。

这样做有以下好处:

1、用户不用记住太多乱七八糟的账号密码,只记住一个,可以登陆所有系统。

2、可以对每个账号进行统一的授权

3、对离职人员不用每个系统进行注销账号,统一注销。

可能还有很多其它的好处,此处省略三百字。

其实到这里很多人已经明白了,就算SSO。那么如何去实现SSO呢,有很多中方式,但是百变不离其中,原理都是一样的。今天我主要讲的是基于IdentityServer4去实现。那IdentityServer4到底是什么东东,有那些模式,问百度。

有人说这个复杂,适合中大型项目,其实这个很主观的。主要是看用的人的水平。任何技术,满足业务就好。其罗马的路千万条,走你最熟悉的就好。

IdentityServer4就是这样一个框架,IdentityServer4是为ASP.NET CORE量身定制的实现了OpenId Connect和OAuth2.0协议的认证授权中间件。

为了实现这个,首先要有一个IdentityServer4服务中心,任何需要登陆系统的人判断未登录,就直接飞到此处报个到。然后就可以飞到任何一个你有权限的系统,记住是有权限的。为什么这么说呢?因为每个人在组织的地位不同,可以看到的东西也不同。我的设想是不单单要在SSO端实现身份的验证,还要实现权限的控制。当然这个是一整套架构体系了,因为我这里设置了A员工对B系统只有读的权限,可是B系统就算不认账,偏偏给A员工写的权限。so,对于企业信息化要有大规划,而不是今天找a公司搞个xx系统,明天上个yy系统,最后一个个系统就像一个个数据孤岛,各种为证。最后只会越来越乱。

一时压不住内心的想法,继续主题。为了实现登陆、权限控制就需要定制很多接口。这些接口会和各个系统说,这小子已经登陆了,它是谁,它可以干嘛。你们就按照我给你们说的给他操作你的系统。好了,规矩定好了,大家按规矩做。世界多美好啊。

对于程序员的你可能会说,他妈的这么多废话,快点上代码啊,我还真不打算上代码,客官,给个图可否:


工欲善其事必先做个美美的页面。

今天到此为止,欲知后续如何,请多多关注!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 10,357评论 0 13
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 6,288评论 0 10
  • 1.埋点是做什么的 2.如何进行埋点 3.埋点方案的设计 近期常被问到这个问题,我担心我的答案会将一些天真烂漫的孩...
    lxg阅读 2,308评论 0 1
  • Linux习惯问题: 在vim编辑时,按了ctrl + s后,再按ctrl + q就可以继续执行了。ctrl + ...
    光着脚的鞋阅读 4,672评论 0 16
  • 一、单系统登录机制 1、http无状态协议 web应用采用browser/server架构,http作为通信协议。...
    Java架构_师阅读 3,605评论 0 4

友情链接更多精彩内容