アクセスを保護したいコントローラーメソッドを公開する.NET 4.5 MVC 4 Web APIを構築しています。以下に示すように、適切にエンコードされた RSA トークンをチェックするアクション フィルター属性を作成しました。
public class TokenValidationAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
try
{
//authorize user
}
catch (Exception)
{
actionContext.Response = new HttpResponseMessage(HttpStatusCode.Forbidden)
{
Content = new StringContent("Unauthorized User")
};
}
}
}
そして、私の .NET 3.5 CF アプリケーションでは、次のようにします。
public static List<string> GetAvailableProjectIds()
{
var idList = new List<string>();
var url = "the url";
var req = CreateRequest(url, true);
try
{
using (var response = (HttpWebResponse)req.GetResponse())
{
//do something with the resonse
}
}
catch (Exception ex)
{
}
return idList;
}
キャッチされる例外は WebException であり、正しい 403 Forbiden ステータス コードが含まれています。しかし、これ以上役立つものはありません。
「無許可のユーザー」で認証しようとしたことをエンド ユーザーに表示できるように、Content プロパティを取得する方法はありますか?