相关疑难解决方法(0)

在RESTful响应中排除私有数据

如果请求它的用户不能查看所有数据,那么在RESTful响应中排除某些字段/数据的最佳做法是什么?

例:

名字,姓氏出生日期.

经过身份验证和未经身份验证的用户都可以向/people.xml发出RESTful请求以获取完整的人员列表.但是,只有经过身份验证的用户才能查看所有信息.未经身份验证的用户应仅返回名字和姓氏字段(不包括出生日期数据).

Person控制器是否应该在构建响应之前检查身份验证?如果用户通过身份验证,他们会获得所有内容,否则他们只获得一个子集 这会破坏REST的任何规则,其中/people.xml可以发送两个单独的结果吗?

rest ruby-on-rails

7
推荐指数
2
解决办法
1470
查看次数

RESTful是否限制每个经过身份验证的用户角色的资源的字段可见性?

我正在构建相当复杂的REST API.整个API受身份验证保护.Person系统中的任何人都应该可以访问某些资源(例如,比方说),但是我想"隐藏"特定用户角色的某些字段.

假设Person资源有以下字段:

FirstName
LastName
BirthDate
Address
Run Code Online (Sandbox Code Playgroud)

我想他们都对用户可见与HRManager角色,隐藏AddressJuniorHRManager,留下FirstName+ LastName其他人.

这种RESTful方法是根据应用于登录用户的角色的规则从响应中删除字段吗? 这是最简单的实现我猜(因为我使用的是一个具有全局响应过滤器的优秀ServiceStack ),但我不确定这是否会破坏REST规则?

我到目前为止唯一想到的另一种方法是创建特定于角色的资源(比如PersonForHRManager等).但是,这将是荒谬的,因为系统应该具有角色的可见和隐藏字段的各种组合.

api rest design-patterns web-services servicestack

7
推荐指数
1
解决办法
2077
查看次数