0

まず、私はAutorizationとJSONサービスに関する問題に精通しています。参照: How to manage a redirect request after a jQuery Ajax callASP.NETでの承認、JSON、およびリダイレクト

マイ状況: 私は認証されていないユーザーを否定し、独自の「管理者」ディレクトリに、adminディレクトリがあります。このディレクトリ内

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.web> 

    <authorization> 
     <deny users="?" /> 
    </authorization> 

    </system.web> 
</configuration> 

は私のメインページで、私は使用している2つのHTTPハンドラファイルをアップロードしたり、アップロードしたりできません。ハンドラがGETまたはPOSTを介してアクセスされたときにユーザーが権限を与えられていないときの状況を処理するコードがありますが、ハンドラが実行されず、GET/POSTがログインページにリダイレクトされるようです。私はこれがうまくいっていると思いますが、httpハンドラ自体が問題を処理し、別の方法で処理することが本当に好きです(少なくともリダイレクトの代わりに401コードのようなものを与えてください)。

HTTPハンドラが自分のセキュリティを処理できるように穴を開けるには、かなり簡単にできるはずです(おそらくだと思いますが、私はちょっと気が利いています。これらのサービスが自分の認証を処理できるようにWeb設定を変更する必要があることを誰かに教えてくれることを願っていました。ありがとう!

答えて

1

それぞれを指定しようとしましたか?

<location allowOverride="false" path="Content"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 
    <location allowOverride="false" path="Scripts"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 

注意してください。注文事項したがって、最も制限の厳しい最下位から最下位までを制限します。

+0

ええ、私はちょうどそれを試みました。それは動作していますが、今は何かがハンドラをインターセプトして、401をリダイレクトに変更しているようです。本当に混乱しています(デバッガが私にそう言っているのでハンドラに入っています)。 – JayC

+1

私は先に進んでHupperwareの答えを受け入れています。それは私の質問に答えるものですが、私は間違った質問*をしていました。 ASP.NETではデフォルトで、UnAuthorizedを302リダイレクトに変換するHTTPモジュール(FormsAuthenticationModule)を登録しています。さらに、そのモジュールを無効にすることは自明ではありません。いくつかのオプションがhttp://haacked.com/archive/2011/10/04/prevent-forms-authentication-login-page-redirect-when-you-donrsquot-want.aspxで詳しく説明されています。 Haackのソリューションまたはその派生物を使用している場合は、IIS Expressを使用することをお勧めします。 – JayC

関連する問題