身份验证/授权模式

标签 authentication model authorization schema data-modeling

是否有用于身份验证/授权架构的最佳实践数据模型?

最佳答案

由角色到权限的映射组成的数据模型相当灵活,适合大多数用途。

然后您将角色分配给用户(这个概念与组的概念本质上相同)...一个用户可能有多个角色,他们的角色定义了他们拥有的权限。

在代码中,您检查(通过他们的角色)用户是否拥有执行功能所需的权限。

身份验证是独立的,它只是验证用户是谁,而不是他们可以做什么。通常你应该保持这种分离(尽管有些方案被设计成只关心用户能做什么,而不关心他们是谁)。

在您的设计中,您可以将访问控制系统可视化为矩阵(角色到权限)。

我还会扩展“不存储密码”的答案 - 根本不要设计自己的身份验证方案。你可能会弄错。重复使用经过验证的。

关于身份验证/授权模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/381453/

相关文章:

angular - 什么时候在 Angular 项目中使用类或接口(interface)?

java - 在 playframework 中拦截请求并检查授权

从 native 应用程序进行 Azure Active Directory 身份验证,无需用户登录

mysql - 如何从命令行连接到 MySQL

android - 如何重新排序 android 中的 Activity ?

ruby-on-rails - 在 Rails 中运行单个验证

php - Laravel 5 数组, key 保存在模型中

authentication - 在应用层的 CoAP 中是否有授权和认证的方法?

asp.net-core - ASP.NET Core 2.1 标识 : Role-based authorization -> Access Denied

java - 使用 isEmpty() 方法时获取空指针异常