2012-01-24 18 views
2

ログイン後にロックダウンする必要のないいくつかのページをアプリケーションに追加しています。どのように私は公にアクセスできるように2つのページを開くだろう。私たちは、公共のことをpage1.aspxとにPage2.aspxをしたい2つのASP.NET WebFormページに公開アクセスを許可する際に、残りのアクセス許可が必要な場合

<authentication mode="Forms"> 
    <forms name=".ORGANIZATION" loginUrl="Default.aspx" protection="All" timeout="120"/> 
</authentication> 
<authorization> 
    <deny users="?"/> 
    <allow users="*"/> 
</authorization> 

は、ここに私のWeb.configファイルです。私はそれをどのように許しますか?

答えて

3

あなたはそれらを免除するweb.configファイルでlocationを追加します。

<configuration> 
    <!-- The rest of your web.config --> 
    <system.web> 
     <authentication mode="Forms"> 
      <forms name=".ORGANIZATION" loginUrl="Default.aspx" protection="All" timeout="120"/> 
     </authentication> 
     <authorization> 
      <deny users="?"/> 
      <allow users="*"/> 
     </authorization> 
    </system.web> 
    <location path="page1.aspx"> 
     <system.web> 
      <authorization> 
       <allow users="*" /> 
      </authorization> 
     </system.web> 
    </location> 
    <location path="page2.aspx"> 
     <system.web> 
      <authorization> 
       <allow users="*" /> 
      </authorization> 
     </system.web> 
    </location> 
</configuration> 
+0

私は100の公開ページがあるとすれば効果的ですか?どのように私はページ1とページ2を公開しないように告げることができますか? – AminM

+1

@JesonParkこれは100ページの縮尺ではありません。 'public/page1.aspx'のようなサブディレクトリを使用し、すべてのファイルを許可するpublicのweb.configを作成するべきでしょう。または、ASP.NETで独自のアクセスエンジンを作成し、すぐに使えるものを使用しないでください。 – vcsjones

1

認証済みのウェブサイトでは、あなたのページが匿名でアクセスできるように指定するweb.configLocation要素を使用することができます。

このweb.configセクションでは、誰もが認証されずにRecoverPasswordページにアクセスできますが、誰も認証されずにAdminフォルダ内のページにアクセスすることはできません。

<configuration> 
    <location path="RecoverPassword.aspx"> // specify file \ only specify one -- 
    <location path="Admin" >     // specify folder/ either file or folder 
    <system.web> 
     <authorization> 
     <allow users="?" /> 
     </authorization> 
    </system.web> 
    </location> 

    <system.web> 
    <authentication mode="Forms" > 
     <forms loginUrl="UserLogin.aspx" /> 
    </authentication> 
    <authorization> 
     <deny users="?" /> 
    </authorization> 
    </system.web> 
</configuration> 
関連する問題