2011-01-18 12 views
1

私のアプリケーションには、認証する必要のある2つのサブフォルダがあります。私のアプリケーションのweb.configファイルで、私はこの2つのサブフォルダの認証の問題

<authentication mode="Forms"> 
     <forms loginUrl="Customer/My Accounts/Default.aspx" name="formsauth1" 
      /> 
    </authentication> 

のように与えられてきたこれは、パスカスタマー/マイアカウント/ Default.aspxのを持つ唯一のサブフォルダのために働くだろうが、私は/アラブ路を有する別のサブフォルダを認証する必要があります顧客/アカウント/ Default.aspx。上記のコードを変更することで、フォルダとその認証方法の両方を特定する方法を知りたい

答えて

1

loginUrlは、制限されたページではなくログインページと同じに設定します。

<authentication mode="Forms"> 
     <forms loginUrl="Login.aspx" name="formsauth1" /> 
    </authentication> 

は、その後、あなたが以下で各web.configファイルを作成したいサブフォルダに:

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

だから何が起こるだろうことは、認証されていないユーザーは、これらのサブフォルダにアクセスしようとしたときということです<authorization>要素はそれを拒否し、loginUrlにリダイレクトします。ログイン後、アクセスしようとしていた元のページに戻ります。

+0

あなたの言ったような両方のサブフォルダにweb.configを作成しました。問題は、両方のサブフォルダにログインページが含まれているため、私がアクセスするページのパスを調べる必要があるということです。 login.aspxを渡すと、現在作業中のフォルダにリダイレクトされます。サブフォルダ1のページにアクセスしようとすると、サブフォルダ1のlogin.aspxにリダイレクトされ、サブフォルダ2のページにアクセスしようとすると、その特定のフォルダのページにリダイレクトされます。 – Poornima

+0

<認証モードが= "フォーム"> <形loginUrl = "Subfolder1/Login.aspxの" 名前= "formsauth1" /> <認証モード= "フォーム"> <形loginUrl = "Subfolder2/Login.aspx "name =" formsauth1 "/> Poornima

+0

@Gregこの問題の解決策をお探しですか? – Poornima