asp.net WebAPIを使用しています。URIを要求しているユーザーが実際にデータを取得できるかどうかを確認するカスタムActionFilterを作成する必要があります。ステータスコードを返すWebAPIのカスタムIActionFilterの権限がありません
これらはすでに基本認証を使用してWebサービスを使用する権限があり、その役割はカスタムロールプロバイダを介して検証されています。
最後に、URIにパラメータで要求しているデータを表示する権限があることを確認する必要があります。ここで
が私のコードです:
public class AccessActionFilter : FilterAttribute, IActionFilter
{
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> ExecuteActionFilterAsync(HttpActionContext actionContext, System.Threading.CancellationToken cancellationToken, Func<System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>> continuation)
{
var result = //code to see if they have permission returns either 0 or 1
if (result==0) {
throw new ArgumentException("You do not have access to this resource");
}
return continuation();
}
}
現在、私はちょうど私が欲しいものではないエラーを投げる、私はむしろSystem.Net.HttpStatusCode.Unauthorized
を返すと思いますが、私はオーバーライドしています方法によって少しmiffedだと私はそれを完全に理解していない。
どうすればその値を返すことができますか?
を実装するためにクリーナー/簡単かもしれHTTP応答は403禁止です。 –