【发布时间】:2017-04-19 03:23:34
【问题描述】:
当使用 Spring 安全性通过 oauth 保护 API 时,作用域和角色之间有什么区别吗?
例如,当使用基于非 oauth 的基于角色的授权时,我可能有一个名为 john 的用户,其角色为 admin。
如果我使用的是 oauth,那么 john 似乎只会有 admin 的范围。
我的想法是否正确?
【问题讨论】:
当使用 Spring 安全性通过 oauth 保护 API 时,作用域和角色之间有什么区别吗?
例如,当使用基于非 oauth 的基于角色的授权时,我可能有一个名为 john 的用户,其角色为 admin。
如果我使用的是 oauth,那么 john 似乎只会有 admin 的范围。
我的想法是否正确?
【问题讨论】:
通常,您会使用范围来指示用户允许客户端应用程序的权限。想想 Facebook 如何询问用户是否允许某个第三方访问他的资源,例如:姓名、电子邮件、个人资料、朋友列表等。另一方面,您将使用角色来表示用户是否只是普通用户或管理员。
所以经验法则是:如果是关于用户授予客户端应用程序访问资源的权限,则使用范围来表示所需的权限。否则,根据用户的类型使用角色来表示权限。
【讨论】: