使用REST API维护Web应用程序的用户权限

时间:2016-12-26 23:56:27

标签: angularjs rest api reactjs web-applications

如何基于REST API管理Web应用程序的用户权限。我的意思是API上的所有操作都需要选择权限,例如 manage_posts manage_users 。在每次调用时都很容易检查API端的权限,并在用户尝试执行他不应该执行的操作时返回非授权。但是在Web应用程序端,我们必须隐藏按钮/禁止输入某个地址。

在我看来,查询所有必需的权限每个页面视图更改都不好,但保留localstorage / session的所有权限似乎并不好。

创意1:

API:
/user/current_user
    {
        name: "Name",
        email: "name@domain.com",
        permissions: ["manage_posts", "manage_users"]
    }

有了这些信息,我们将其存储在本地存储/会话中,这用于切换按钮和基于路由器的访问。此外,如果403发生,FORBIDDEN和应用程序将设法重定向到非授权页面,所有API端点也将检查所需权限并返回403代码。

创意2:

API
POST:/user/check_permission
{
    status: "OK"
}

每次Web应用程序需要检查权限状态时,这都需要Web应用程序查询API。这是“更安全”,但我认为这不好。

0 个答案:

没有答案