1

私はウェブサイトを持っていて、その下にアプリケーションがあります。

http://msdn.microsoft.com/en-us/library/ff648341.aspxの説明に従って、アプリケーション内に安全なフォルダーを作成しました。

次に、web.configがアプリケーションのフォルダーに追加されましたが、それでも安全なフォルダーにアクセスできます。何を間違えたのでしょうか。

<?xml version="1.0"?>
<configuration>
    <system.web>
    </system.web>
  <!-- The secure folder is for authenticated and SSL access only. -->
  <location path="Secure" >
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>  
</configuration>

更新:ついにindex.htmlができましたが、Default.aspxに置き換えると機能しました。

次に、拡張子を1つずつ追加せずに任意のファイルを保護する方法:(

4

4 に答える 4

2

認証タグが欠落している可能性があります。このコードは私のために働きます:

<system.web>
    <identity impersonate="true"/>
    <authentication mode="Forms">
        <forms cookieless="AutoDetect" protection="All" slidingExpiration="true" loginUrl="~/login.aspx"/>
    </authentication>
    <authorization>
        <deny users="?"/>
    </authorization>
</system.web>
<location path="styles">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>
<location path="images">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>
<location path="scripts">
    <system.web>
        <authorization>
            <allow users="*"/>
        </authorization>
    </system.web>
</location>
于 2012-09-09T16:26:51.680 に答える
1

あなたが見逃しているのはこれだけだと思います:

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true"></modules>
</system.webServer>

<system.web>
    <authentication mode="Forms">
        <forms loginUrl="Default.aspx">
        </forms>
    </authentication>
</system.web>

これは私が持っているもので、動作します:

<system.webServer>
  <modules runAllManagedModulesForAllRequests="true"></modules>
</system.webServer>
<system.web>
    <authentication mode="Forms">
        <forms loginUrl="Default.aspx">
        </forms>
    </authentication>
</system.web>
<location path="secure">
  <system.web>
    <authorization>
      <deny users="?" />
    </authorization>
  </system.web>
</location>
于 2016-01-22T04:46:01.330 に答える
1

空の最初の system.web は必要ないと思います。また、2 つ目の system.web を location タグでラップする必要もありません。

于 2012-09-09T16:23:35.300 に答える
0

これで試してください

   <configuration>
    <system.web>
   ...
   <authentication mode="Forms">
   <forms name="MyAppCookie" loginUrl="~/Login.aspx" protection="All" timeout="30" path="/" />
 </authentication>
  </system.web>
  ...
     //deny the access to annonymous users in the Secure directory
    <location path="Secure" >
      <system.web>
    <authorization>
    <deny users="?" />
   </authorization>
    </system.web>
   </location>  
</configuration>
于 2012-09-09T16:34:56.983 に答える