59

認証されていないユーザーがアクセスできるように、web.config でルートの場所を指定するにはどうすればよいですか?

ルートの場所は default.aspx によって提供されますが、通常、ユーザーには default.aspx は表示されず、http://mysite.com/.

だから私は追加しました

  <location path="~/default.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

ユーザーがヒットmysite.com/default.aspxした場合は機能しますが、ユーザーがヒットした場合mysite.com/-彼はまだログインページにリダイレクトされます。

<location path="~">(役に立たない) と<location path="~/">(<location path="">サイトが完全に失敗する)を試しましたが、機能しませんでした。

何か案は?

4

10 に答える 10

45

これを試してください:

<system.web>
    <urlMappings enabled="true">
        <add url="~/" mappedUrl="~/default.aspx" />
    </urlMappings>
    <authorization>
        <allow roles="admin"/>
        <deny users="*" />
    </authorization>
</system.web>
<location path="Default.aspx">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>
于 2013-10-03T08:54:34.790 に答える
2

2つの方法で達成できます

方法 1:

ユーザーがサイトに直接アクセスした場合、IIS でhttp://mysite.com/default.aspxへのリダイレクト パスを設定できます。IIS7 では、[既定のドキュメント] をクリックして設定できます。参考までに画像を添付します

デフォルトのページリダイレクトを追加する IIS7 設定

方法 2

この URL ASP.NET メンバーシップにアクセスして、Web 構成設定を設定できます。

これについてさらに詳細が必要な場合はお知らせください。

于 2012-11-29T10:16:39.263 に答える
2

おそらくフォーム認証を使用していませんか?

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

これで問題は解決します。別の方法は次のとおりです。

  <location path="~/Default.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
于 2012-11-30T19:40:55.327 に答える
2

過去に行った方法は、ログインを必要とするすべての機能用のフォルダーを作成し、そのフォルダーに require auth を設定することでした。すべての aspx はそのフォルダーに移動します。サイトのルートは開いたままです。

于 2012-11-30T09:51:37.340 に答える
1

認証されていないユーザーのみにdefault.aspxへのアクセスを許可する場合は、次を使用できます

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

前に<system.web>、そのページを Web サーバーのデフォルトとして設定します。
Visual Studio では、ページと「開始ページとして設定」を選択できます。

ルート内のすべてのファイルへのアクセスを許可する場合は、認証されたユーザーがアクセスする必要があるページを配置するフォルダーを作成する必要があります。

保護されたすべてのページを配置できるSecureフォルダーを作成し、web.config を次のように変更できます。

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

削除する

    <authorization>
        <deny users="?"/>
    </authorization>
于 2012-02-20T09:09:32.393 に答える
0

これを使って :

<location path="Default.aspx">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>
<location path="~">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>

わたしにはできる。

于 2014-09-02T09:01:52.367 に答える
0

ルート ディレクトリを指定するには、ロケーション ブロックの外に設定する必要があります。

<configuration> 
  <system.web>
    <authorization>
      <allow users=“*“/>
    </authorization>
  </system.web>
</configuration>

次に、ロケーションブロックを使用して他のフォルダーを保護します

<location path=“AccessDenied.aspx“&gt;
    <system.web>
        <authorization>
            <deny users=“?“/>
        </authorization>
    </system.web>
</location>
于 2013-08-29T06:35:24.340 に答える
-4

ディレクトリのルートを指定する場合は、<location path="" >

于 2012-08-28T23:13:50.523 に答える