2016-09-07 9 views
4

現在、匿名ユーザーが自分のルートアプリケーションにアクセスできないようにしています。匿名ユーザーに仮想ディレクトリへのアクセスを許可する方法

/web.config

<system.web> 
    <authorization> 
     <deny users="?" /> 
    </authorization> 
    </system.web> 

しかし、公共のリソース(イメージ、CSSなど)への匿名アクセスできるようにしています:今

<location path="Images"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 

を、私はどの仮想ディレクトリを追加したいと思います匿名ユーザーがアクセスできる必要があります。 Imagesパスに基づいた設定を追加しましたが、その場所にアクセスしようとするたびに、ReturnURLが仮想ディレクトリに設定されたログインページにリダイレクトされます。

<location path="virtualDirectory"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 

はまた、私は私の仮想ディレクトリのweb.config内グローバル権限を指定するが、私は持つことができるというエラーを取得しようとしました

/virtualDirectory/web.config一度その:

<system.web> 
    <authorization> 
     <allow users="*" /> 
    </authorization> 
    </system.web> 

ルートアプリケーションが匿名アクセスを禁止しているときに、仮想ディレクトリへの匿名アクセスを許可する方法を教えてください。

グローバルweb.configファイルで
+0

を参照してください?私は同じ設定で私の設定を行いました。 –

+0

Windows 8でローカルに実行 –

+0

これは、すでに与えられた回答にコメントしていれば助けになります。あなたはそれらを好きではないが、何も言わない= /それらを試しましたか?結果は何でしたか? –

答えて

3

それは意味

<location path="." inheritInChildApplications="false"> 
    <system.web> 
    <authorization> 
     <deny users="?" /> 
    </authorization> 
    </system.web> 
</location> 

<system.web> 
    <authorization> 
    <deny users="?" /> 
    </authorization> 
</system.web> 

をカプセル化 - 認可が唯一のルートアプリではなく、子供のアプリのために適用されます。

0

、IISマネージャおよび仮想ディレクトリのホームエリアで

  1. に行くダブルクリックして認証を

    <location path="virtualDirectory"> 
        <system.web> 
         <authorization> 
         <allow users="*" /> 
         </authorization> 
        </system.web> 
    </location> 
    

    を削除

  2. 右クリック匿名認証を有効にしてから[有効]をクリックします。

0

あなたの承認ルールはよく見えます。最後のエラーは、フォルダ/ファイル/パスごとに許可セクション(実際には任意のセクション)を1回だけ持つことができるためです。したがって、グローバルに、つまり<location path="virtualDirectory">または仮想ディレクトリのweb.configにのみ存在します。それを両方の場所に置くと、エラーが発生します。仮想ディレクトリに設定されている認証とは何ですか?

匿名が許可のルールとともに有効になっていることを確認してください。 (IISマネージャ - >サイト - >特定のサイト - >仮想ディレクトリ - >中央ペインの認証)

また、IISのGUIには、ASP.NET認可ルール(現在使用しているもの)とIIS認証ルール拒否するIIS認可ルールがないことを確認します。あなたのグローバルなweb.configファイルで

enter image description here

3

注意事項

  1. アスタリスク(*)はすべてのアイデンティティを表します。

  2. 疑問符(?)は匿名の身元を表します。

  3. 理想的には、グローバルweb.configのvirtualDirectoryの匿名ユーザーに対して認証を許可するように設定する必要はありません。

  4. 仮想ディレクトリの下にある[IIS]の[認証]> [匿名認証を有効にする]を選択します。

あなたはどのようなIISのバージョンを使用している

ASP.NET Authorization

How to: Create and Configure Virtual Directories in IIS

関連する問題