ASP.Net WebAPIを使用する場合、状況によっては、または401
のいずれかを返すために使用するcustom Authorize
attributeがありました。例えばユーザーが認証されていない場合は、401
を返します。ユーザーが認証されていても適切な権限がない場合は、403
を返します。それにはSee here for more discussion。ASP.NetコアのAuthorize属性を使用してHTTP 403を返します。
新しいASP.Netコアでは、代わりにポリシーベースのアプローチを採用しているようですが、今度はdon't want you overriding the Authorize
attributeのように見えます。しかし、コアMVCは、前任者が持っていた「すべての認証エラーに対して同じ返信401
」の脆弱性があるようです。
私が望む動作を得るためにフレームワークをオーバーライドするにはどうすればよいですか?
@blowdartによると、ユーザーが認証されたが権限のないMVC6 Authorize属性が401の代わりに401を返す場合、バグが発生するか、何か間違っています。 – danludwig
私は、シナリオに関係なく401を返していたということを設計したと仮定しました。その動作が期待されない場合は、aspnet/securityにバグを報告します。 – Chad
ここで最後のコメントを参照してください:http://stackoverflow.com/a/31465227/304832 – danludwig