我正在开发一个Web服务器应用程序,我需要添加授权。这是典型的流程:
服务器在身份验证后向客户端发出令牌(Oauth / JWT)
客户端将每个REST API请求中的令牌发送到服务器
服务器验证令牌并提取此令牌所有者持有的权限
服务器相应地满足客户的要求
问题: 根据客户端的角色,需要将SQL DB(mysql,oracle等)中的数据返回给客户端。假设有三个用户各自有不同的角色:
DB具有各种表,并且根据用户的角色,允许访问数据(表和列)。 如何管理此访问权限?我应该将这种不同访问的逻辑放在Web服务器中还是需要进入DB?
根据用户角色动态进行SQL查询对我来说听起来不太合适。我正在寻找处理这种情况的良好做法。 [我正在使用Play + Scala作为Web服务器]