如何管理不同的用户类型? [处于保留状态]

问题描述 投票:0回答:1

我正在使用Spring编写类似于Endomondo / Strava的简单Web应用程序。我决定这将是Vue和Android应用程序使用的REST API。我刚刚开始保护应用程序-选择了JWT。但是问题提出了-如何方便地管理不同的用户类型? 基本用户高级用户(当然,后者具有更多特权)。

应该在JWT授权级别上发生吗?假设我将User Premium类型附加到令牌。如果Premium在令牌之前过期怎么办?如果Basic User试图获取Premium资源,则如何在前端级别区分Unauthorized来自错误的令牌还是权限不足(或者提供此权限并不安全)信息)?

也许在端点级别检查数据库中的用户类型?它不是很古板吗?

spring authentication spring-security jwt authorization
1个回答
0
投票

如果您的用户类型及时为dinamyc,则您不能依赖令牌值。您应该根据数据库或您使用的任何授权提供者的用户类型来检查JWT授权级别。

如果实际用户类型恰巧与令牌中的值不匹配,那么您应该向应该删除令牌并要求用户再次登录的前端返回授权错误(http 403)。

© www.soinside.com 2019 - 2024. All rights reserved.