我有一个网络应用程序,前端层有一个基于角度的UI。它有公共页面和其他私人页面,登录用户可以访问它,它还取决于登录用户的角色 我的基于服务器的应用程序是基于Java的休息服务api。
我如何使用wso2来处理用户身份验证和基于角色的authoration.i希望根据用户的角色增加一层api安全性。
有人可以在wso2中解释这个的最佳架构吗? 如果我使用wso2 api管理器,我该如何处理用户的登录以及如何将api访问与登录用户的角色联系起来?
提前致谢
答案 0 :(得分:0)
您可以使用wso2 appmanager来控制任何网络应用的访问[1]。应用程序管理器支持基于角色的访问控制以及基于xacml策略的访问控制。为了提供基于api级别角色的安全性,您可以在wso2 api manager
中使用范围[2][1] https://docs.wso2.com/display/APPM120/Web+Application+Resource+Authorization
[2] https://docs.wso2.com/display/APPM120/Web+Application+Resource+Authorization
答案 1 :(得分:0)
让我建议另一个解决方案。我还没试过APIM。但由于APIM中还安装了Identity功能,因此这应该可行。
使用OpenID Connect进行登录。 See here获取样本。此示例适用于IS,但它也适用于APIM。只有端点URL在APIM中有所不同。
Token: https://localhost:8243/token
Revoke: https://localhost:8243/revoke
Authorize: https://localhost:8243/authorize
在用户登录时,您会收到包含用户声明的ID_token
。您可以根据这些数据允许/拒绝页面查看。
在上面的步骤中,您将创建一个SP并生成客户端密钥 - 密钥对。您可以在APIM的应用程序中设置相同的密钥。 Read this。
然后,正如我提到的here,您可以使用范围来按角色保护您的API。