ASP.純益:認可の発行
-
26-09-2019 - |
質問
私もトラブル等を利用する場合はASP.純4のURLのルーティングの特徴が認定ルールを設定します。
グローバルasax
void Application_Start(object sender, EventArgs e) {
RegisterRoutes(RouteTable.Routes);
}
private void RegisterRoutes(RouteCollection routes) {
routes.MapPageRoute("dashboard", "", "~/Restricted/Default.aspx", true);
routes.MapPageRoute("register", "register", "~/Register.aspx", true);
routes.MapPageRoute("login", "login", "~/Login.aspx", true);
}
{Root}\います。Config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<authentication mode="Forms">
<forms name="DevAuth"
loginUrl="/login/"
protection="All"
path="/"
timeout="15"
requireSSL="false"
slidingExpiration="true"
cookieless="AutoDetect" />
</authentication>
</system.web>
<system.webServer>
<security>
<authentication>
<basicAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
</configuration>
{Root}\制限される。config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" roles="Developer" />
<add accessType="Deny" users="*" />
</authorization>
</security>
</system.webServer>
</configuration>
の問題に面しております:
私が訪ねてみて下さい http://localhost/ --いろ ダッシュボード ルールです。asaxのではなく、リダイレクトされ http://localhost/login/?ReturnUrl=%2f, 私は実際に コンテンツの http://localhost/Restricted/Default.aspx ページです。
私が訪ねてみて下さい http://localhost/Restricted/ --いくリダイレクトされ http://localhost/login/?ReturnUrl=%2fRestricted はい!
ういかがでしょうか。
編集1
以下の変更は、configファイルを与えてください アクセスは拒否されます。
{Root}\います。Config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.web>
<authentication mode="Forms">
<forms name="DevAuth"
loginUrl="/login/"
protection="All"
path="/"
timeout="15"
requireSSL="false"
slidingExpiration="true"
cookieless="AutoDetect" />
</authentication>
</system.web>
<system.webServer>
<security>
<authentication>
<basicAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
<location path="login">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="register">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="">
<system.web>
<authorization>
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>
解決
うーん、私はそれが来ると思います:
<location path="">
<system.web>
<authorization>
<deny users="*"/>
</authorization>
</system.web>
</location>
ここで私が見ている問題は、このパス= ""から来ています。この情報は、このアドレスをブロックするためにユーザーエイジェント[ブラウザー、IEやFFやChromeなど]にあるからです。 http:// localhost:xxxxx
実際、デフォルトのルートを指摘しています:〜/restricded/default.aspx
デフォルトでは、すべてのユーザーにこのページへのアクセスを拒否しています。それがあなたにこれを行う方法についてのヒントを与えることを願っています。
他のヒント
て実際に使用しないURLを書き換え;ご利用のルーティングです。あることには大きな違いは可能な限り抑制するとともに過ごルとルーティングのURLを要請すがまったく変わりませんね。その認証制度が、いつもの仕事のUrlを入力アドレスバー...もう何もすべてのルーティングエンジンを行っています。
を説明する初期動作完;を求めるルート/デフォルト(空の文字列のルート値が許可に従って初期auth。このルーティングが ~/Restricted/Default.aspx
のコンテンツロードは軽微であり、すで無視されます。同様に、直接請求制限をお願いし、トリガーにauth。
ルーティング、ファイル位置に基づく認定実はとてもトリッキーの使用と、この理由です。
一方、おさまった書き換えの実際のURLが要求された場合は、変更したものとします。
Andrew Barberが書いているように、この方法でルーティングを使用しても認証ルールは機能しません。
ルーティングと認証/承認の詳細については、こちらをご覧ください。 http://blogs.msdn.com/b/mikeormond/archive/2008/06/21/asp-net-routing-and-authorization.aspx..