我正在研究一个小型的Web应用程序。它使一个会计流程自动化。SOA和RESTful体系结构中的授权(未验证)
我起草了一个业务需求和一个SOA结构,但由于我的局限性,我不能再走了,特别是授权部分。
让我困惑的一件事是我应该使用RESTful API来进行授权(而不是验证)吗? 还是我应该在后台执行授权(用户 - >角色 - >允许的操作),而不公开此授权服务?
SOA + RESTful API处理授权的最佳做法是什么?
真诚, 萨科
我正在研究一个小型的Web应用程序。它使一个会计流程自动化。SOA和RESTful体系结构中的授权(未验证)
我起草了一个业务需求和一个SOA结构,但由于我的局限性,我不能再走了,特别是授权部分。
让我困惑的一件事是我应该使用RESTful API来进行授权(而不是验证)吗? 还是我应该在后台执行授权(用户 - >角色 - >允许的操作),而不公开此授权服务?
SOA + RESTful API处理授权的最佳做法是什么?
真诚, 萨科
如果我没有误解你的问题,我认为正确的做法是,每个服务请求的服务器可能会返回一个访问错误(或没有权限才能访问资源的错误)或请求的结果。
在JSON服务器返回这样的事情
{
"status": "ko",
"error": {
"number": "xx",
"msg" ; "error you dont have right to access"
}
}
如果确定
}
与REST API的事情是,你可以”例如,使用session
登录用户。每次用户尝试访问受保护的资源时,他都需要发送一个令牌来标识他以及请求(我们使用令牌在请求中不发送密码)。
因此,如果即使用户调用方法/authorize/{...}
,当另一个方法被调用sinced没有登录状态时,您将需要再次检查其凭据。
所以对我来说,proceeed最好的办法是:
HTTP
错误像401
(未授权)我同意你的说法darkheir!非常感谢你的帮助! –
很高兴帮助!如果它解决了你的问题,那么你应该打勾答案来标记你的问题解决! – darkheir
Coudl您解释越多,你的_should指的是我用的RESTful API做authorization_ – darkheir
例如:拨打/授权/ {...}之前每次在用户使用sessionID进行身份验证后,调用其他服务API来查看我是否有权访问资源。这是授权如何完成的? –
你需要什么级别的授权?你需要阻止API吗?过滤数据(“行级安全性”)?别的东西? –