フォルダーを取得するには、次の方法があります。
[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);
}
考え?