千家信息网

IdentityServer4是不是权限管理系统

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,IdentityServer4是不是权限管理系统,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。我们通常理解IdentityServe
千家信息网最后更新 2025年01月31日IdentityServer4是不是权限管理系统

IdentityServer4是不是权限管理系统,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

我们通常理解IdentityServer4是身份认证授权管理系统,那么我们可否理解成IdentityServer是身份认证权限管理系统呢?

通过其名称可知IdentityServer4就是对于在跨网站或者跨应用程序间为用户提供一个稳定的身份,这里所谓的不可变应该在会话期间用户身份不可变,比如用户Id,出生日期等等。

但是IdentityServer4并不适合用于让客户端或者API知道允许用户做什么,比如读取一篇文档。

因为IdentityServer4说到底就是Token服务,可能有了解过IdentityServer4的童鞋说,通过声明来构建用户权限啊,其实声明并不是传输权限特别好的媒介。为何,当然基于以下几点原因。

  1. 声明本身就是用来构建用户的身份而非权限。

  2. 声明的数据结构非常简单仅仅只是字符串,而权限数据结构非常复杂。

  3. 用户权限依赖于不同的客户端和APi,将用户权限放在单个身份中显然有问题,那么是否有可能按需获取呢?这是需要考虑的问题。

  4. 用户权限在整个会话期间可能会改变,这个时候需要重新获取Token,但是获取Token的方式需要UI交互,这个时候肿么办。

  5. 权限和业务逻辑可能会有重叠的地方,这个时候如何划分边界呢?

  6. 有时候我们可能通过URL传输Token,但是浏览器URL长度有限制,如果用户权限存储在声明中,岂不是也会出问题?

基于以上几点,我个人认为不能将身份和用户权限进行混用,说到底IdentityServer4根本不是为了用户权限应运而生,也没提供对应的解决方案,我们想要实现用户权限还需要做很多额外的工作。

当然,如果项目小或者私下玩玩将声明当做权限,然后通过Token返回,并不是什么问题,只不过我想表达的是IdentityServer4不是用作用户权限的管理系统。

这里我们还需引入另外一个概念,那就是角色,我们将身份、角色、权限串联起来,好像很顺畅,用户的身份属于什么角色,对应角色赋予怎样的权限,这个时候好像似乎用声明来授予用户权限未尝不可,其实如果对用户授权是基于用户的身份,那么将用户权限通过声明来使用是非常可取的。

可能又有人疑惑了,IdentityServer4里有Scope即范围,不是可用作用户权限吗?请不要随便扣帽子,IdentityServer4中的Scope指的是授予客户端权限,而非用户权限。

声明是用来构建身份而不是用户权限,不能将身份和权限在Token服务中混用,如果对用户授权是基于用户的身份,那么使用声明也未尝不可。

关于IdentityServer4是不是权限管理系统问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

权限 用户 身份 问题 管理系统 系统 管理 就是 时候 角色 客户 客户端 数据 数据结构 更多 结构 说到底 身份认证 传输 可变 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络技术渠道 奉贤区推广软件开发厂家信息中心 网络安全法立法目的是 生物数据库分为哪几级 怎样筑牢网络安全防线 无锡视频分布式存储数据库 中兴软件开发毕业生给多少 华为软件开发部部长是谁 三大网络安全认证 国家数据库保存论文 极域连不上服务器 互联网科技刊 干不下去回来做软件开发 学校网络安全和宣传工作总结 外文数据库检索是什么 以色列网络安全市场 服务器硬盘可以装笔记本吗 数据库检查点恢复技术 数据库访问管理系统 碧江分局网络安全保卫大队大队长 银信科技网络安全营收 刚开机老是服务器无响应 自己架设vpn服务器 未来之役服务器怎么改回原来的 物流信息管理系统数据库数据字典 石门软件开发专业学校 威胁网络安全的种类 服务器电源亮灯开不了机 魔兽世界部落去哪里买服务器 东西湖天融信网络安全创新园
0