我正在研究一個小型的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嗎?過濾數據(「行級安全性」)?別的東西? –