認証されていないユーザーがアクセスできるように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="">
(サイトは完全に失敗します)、動作させることができませんでした。
何か案は?
これを試してください:
<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>
使用のみ
<location path=".">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
またはデフォルトのパスがroot(。)であるため、パスを書き込まないでください
おそらくフォーム認証を使用しますか?
<authentication mode="Forms">
<forms loginUrl="~/Default.aspx" />
</authentication>
これで問題が解決します。別の方法は次のとおりです。
<location path="~/Default.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
2つの方法で達成できます
方法1:
リダイレクトパスを http://mysite.com/default.aspx in IISに設定できます。IIS$ === IIS7では、それを行うことができます。デフォルトのドキュメントをクリックしてください。ここに参考のために画像を添付しました
方法2
このURL ASp.NET Membership を使用して、Web構成設定を設定できます。
これに関する詳細が必要な場合はお知らせください。
過去に行った方法は、ログインを必要とするすべての機能用のフォルダーを作成し、そのフォルダーにrequire authを設定することでした。すべてのaspxはそのフォルダーに移動します。サイトのルートは開いたままです。
非認証ユーザーにのみアクセスを許可したい場合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>
ルートディレクトリを指定するには、ロケーションブロックの外側に設定する必要があります。
<configuration>
<system.web>
<authorization>
<allow users=“*“/>
</authorization>
</system.web>
</configuration>
そして、場所ブロックを使用して他のフォルダを保護します
<location path=“AccessDenied.aspx“>
<system.web>
<authorization>
<deny users=“?“/>
</authorization>
</system.web>
</location>
これを使って :
<location path="Default.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="~">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
わたしにはできる。
メルクは正しかった!
使った
<location path="">
<system.webServer>
<httpRedirect enabled="true" destination="http://www.newpathdestination.com" exactDestination="true" httpResponseStatus="Permanent" />
</system.webServer>
</location>
windowsネットサーバーでは(質問しないでください)、ロケーションパスの引用符の間に何も置かないようにしてください。古いホームページのリクエストを新しいホームページにリダイレクトします。