0
我有以下方法來檢索文件夾屬性:授權碼,並授權中的WebAPI控制器
[HttpGet]
[Authorize]
public HttpResponseMessage GetFolder(int id)
{
FolderDto folder = _service.GetFolder(id);
if (folder == null)
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
return Request.CreateResponse(HttpStatusCode.Found, folder);
}
我有授權的工作 - 如果用戶登錄,並通過一個有效的cookie的請求,行動收益。但我只想讓用戶獲取屬於他的文件夾 - 即在會員表中具有其用戶ID的UserId的文件夾。
我是否應該在控制器中爲每個WebAPI控制器方法執行此檢查,或者是否存在我還沒有了解的標準方法。我的直覺告訴我這樣做:
[HttpGet]
[Authorize]
public HttpResponseMessage GetFolder(int id)
{
FolderDto folder = _service.GetFolder(id);
if (folder == null || folder.UserId != <userId>) // Or just add another check for HTTPUnauthorized
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
return Request.CreateResponse(HttpStatusCode.Found, folder);
}
想法?
您正在顯示他們無權訪問的用戶文件夾,或者您只是想確保他們無權訪問這個邊緣案例? – 2013-04-21 00:17:51
我想確保用戶無法訪問不屬於他們的文件夾......但我不會將其稱爲邊緣案例。 – SB2055 2013-04-21 00:32:01