多个内部应用程序的集中身份/身份验证的最佳实践

时间:2021-02-03 03:34:41

标签: c# .net .net-core asp.net-identity

我们有大约 10 个内部 .NET Core 2.1+ 和 .NET 5 MVC Web 应用程序,所有应用程序都使用 Windows 身份验证和基于 AD 组的硬编码权限。有些将角色和权限扩展到数据库,但每个项目都有自己的方案。

我正在尝试转向所有应用程序都可以与之通信的集中式身份数据库,以及基于声明的权限(CanEditThing 而不是包装在 User.IsInRole(“Marketing”) 中)。这样做的一个好处是将 Active Directory 数据保持在一个位置同步,而不是在每个应用程序中放置相同的慢速 DirectorySearcher 样板代码,并为审计员快速生成报告,显示谁有权访问哪些应用程序。

处理这个问题的最佳或标准方法是什么?所有应用程序都通过公共连接字符串共享一个中央用户/权限数据库吗?或者,通过 IdentityServer 和 JWT 组合验证用户并将个人权限限制在个人应用程序的数据库中?有没有更好的方法来处理这个问题?

感谢您的洞察力!

0 个答案:

没有答案