百科问答小站 logo
百科问答小站 font logo



联合权限(Federated Identity)的架构问题? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

我觉得这是一个比较正常的架构和需求。

首先谈两个概念:

身份验证 Authentication

授权 Authorization


事实上我发现有相当大一部分人分不清这两者,这也是造成很多困扰的原因。

你们需要的应该是统一身份验证管理,从架构上来说你们公司的架构思路是很正确的,

不如设置一个中间件,向两个服务器分别登录。先登录主服务器,再让主服务器授权次服务器一个加密的token,去登录次服务器。两个token给用户,两次询问主服务器和次服务器。


所谓SSO(单点登录),实现一般是中心身份验证,表现效果就是在任何一个地方获得了身份验证(登录),去同一个体系内的其他地方的时候无需再次进行身份验证。

实现方式各异,但思路是一致的。简单来说就是一台中心身份验证服务器负责身份验证并发放验证Token,其他服务器在收到Token时找中心服务器验证Token的合法性和获取身份信息。


根据你的描述来说的话,你所需要的是统一身份验证,而分散式授权管理(也就是每台服务器都管自己的授权)。

我能给出的建议是,设立一台服务器(或多台,总之一个数据库)做中心身份验证,验证用户名和密码,并发放登录Token。

客户端先去中心身份验证服务器登录,获得登录Token后,访问其他应用服务器时,将Token发给服务器,此时应用服务器将Token发给中心身份验证服务器验证,根据Token的设计(包含身份信息或不包含),中心身份验证服务器返回身份验证信息或者只需要确认Token是否合法(若Token包含身份验证信息)。然后应用服务器根据Token的过期时间做相应的身份验证缓存,下次客户端请求时将不必到中心身份验证服务器验证。

接下来就是应用服务器根据身份验证信息确认是否有权限了,并返回相应结果。


思路大体上就是这样,不管采用哪种解决方案,思路都是大同小异的。若是在Windows平台构建,用于企业内部的管理系统,那么也可以考虑ActiveDirectory,ActiveDirectory本质上就是一个中心身份验证+中心/分布式授权体系。




  

相关话题

  如何评价美国安全部对大疆进行警告,或因莫须有的原因成下一个被制裁的中国公司? 
  《互联网宗教信息服务管理办法》公布,自明年 3 月 1 日起施行,该政策的实施将会带来哪些改变? 
  大前端(node.js)抢得动后端的饭碗吗,前端和后端总体薪资类似,这是不是培训班让我们看到的软广告? 
  《互联网宗教信息服务管理办法》公布,自明年 3 月 1 日起施行,该政策的实施将会带来哪些改变? 
  如何看待中国工程院院士沈昌祥提出 Windows 10 操作系统危害中国网络安全? 
  养成哪些上网习惯可以避免泄露重要的个人隐私? 
  如何看待网信办下架「滴滴出行」?将带来哪些影响? 
  如何理解关系型数据库的常见设计范式? 
  如何看待自称「超声波指纹更安全」的三星多款手机被中国银行禁用指纹支付? 
  Windows 系统关于用户和权限的逻辑是怎样的? 

前一个讨论
Html.ActionLink怎么包裹其他代码?
下一个讨论
如何通俗地解释 C、C++、C#、Java、JavaScript、HTML、Python的用处?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利