gpt4 book ai didi

security - 带有 REST 的基于角色的 Web UI

转载 作者:行者123 更新时间:2023-12-02 02:15:15 24 4
gpt4 key购买 nike

我们为新的基于 Web 的应用程序选择了基于 REST 的架构。整个平台以 RESTful 服务的形式公开,因此可以在这些服务之上构建任何 UI(WEB/移动)。因此,应用程序分为 3 层,DB、应用程序层——这只是公开 RESTful 服务,以及 UI——目前是基于 HTML5/CSS/Javascript 的 UI 消费 Web 服务。

此应用程序还具有基于角色的访问权限,因此必须根据角色设计 UI。 Web 服务在服务响应中返回一组权限,然后在 Javascript 中使用它来构建 UI 是个好主意吗?

角色的 UI 变体如下:
主菜单可能会根据角色而改变
标签必须根据角色进行控制
应用程序中的大多数页面都是基于小部件的,小部件的显示再次标记为角色

再一次,我想知道这是否是一个正确的想法。请建议。

最佳答案

要遵循 HATEOAS(超媒体作为应用程序状态引擎)约束,您应该让 REST 服务本身提供对“应用程序状态”有效的状态转换(即链接),其中包括有关导航、选项卡的任何特定逻辑等可根据用户的角色使用。

因此,您的资源应该以这样一种方式设计,即它们可以返回特定于您的登录用户的结果。

例如。 (使用 HAL 作为超媒体类型)

GET /users/123/navigation

{
"_links": {
"http://api.service.com/rels/home": { "href"="/" "title"="Home" },
"http://api.service.com/rels/admin": { "href"="/admin" "title"="Admin" }
}
}

这样做可以在服务中保留“什么角色可以做什么”的业务逻辑,这才是真正属于该逻辑的地方。

关于security - 带有 REST 的基于角色的 Web UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10947619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com