对认证授权的理解

对认证授权的理解

1.对认证的理解

认证可以在一个统一的平面去做,也就是router层的中间件中去做,因为认证只是检查请求是否携带jwt token,以及对token正确性的校验,如果正确就认证成功,如果失败则返回401

2.对授权的理解

授权必须在认证成功后才能去做,授权可以理解为一个人拥有一个凭证可以操作一个对应的资源。

user->permission->opt(动词) resource ,其中每个resouce 都拥有一个group,permission 由 group:grade 对应的映射组成。

授权比较复杂,在统一的平面中只能做个粗粒度的授权,比如:post v1/test 这个api,只能系统管理员去做,那么只要在中间件中检查这个用户是否为admin用户,就可以授权成功不用关心这个api具体操作的资源是否属于哪个group,但是当这个api 需要关心这个用户是否对当前要操作的资源有增加,查看,删除操作时,就需要计算permission,然后通过这个资源计算出这个用户对这个资源所拥有的操作grade,在与对应的操作做对比,grade 值为1 ,3, 7,...持续更新中
grade用byte类型比较节省内存

posted @ 2022-04-28 18:02  O-ll-O  阅读(96)  评论(0编辑  收藏  举报