1

URL 書き換えを既に適用している Web サイトにカスタム フォーム認証を適用しようとしています。ファイル内でこのコードを使用Application_Startglobal.asaxます。

routes.MapPageRoute("bill-details",                 //Route Name
                    "{billno}",                     //URL with Parameters
                    "~/CallCenter/BillDetails.aspx" //Webforms page to Handle it.
                    );

しかし、ログインページの URL を書き換えようとすると、書き換えることができません。

<forms loginUrl="/Login.aspx" name="MyCustomAuthentication" timeout="30"/>

実際の問題は、ページを開くと認証がチェックされ、認証されていない場合は Login.aspx ページにリダイレクトされることです。

これmywebsite.com/Login.aspx?ReturnUrl="..." を書き直すことができないことがわかります。リターン URL を削除できない場合は、 ??Loginの代わりに配置できますか?Login.aspx

この投稿からこのコードを使用する場合-> URLからreturnurlを削除するには?

これを使用すると、コントロールが何度もループし、「リダイレクトが多すぎます」と表示されます。問題は、コントロールがのLoginようにページに移動mywebsite.com/Loginすると、認証をチェックしてLogin.aspxページにリダイレクトすることだと思います。あなたのコードは再び Login page にリダイレクトされます。このループは続きます。

また、ユーザーは自分の Web サイトにアクセスするために最初にログインする必要があるため、リターン URL も必要ありません。

それで、リターンURLの削除も手伝ってもらえますか?? また、URL書き換えでも??

これじゃ解けません!!

私のウェブサイトをチェックしてください。-> http://orders.maabookings.com UserId - temp Password - temp

このログインページでは、 http://orders.maabookings.com/Login.aspx?ReturnUrl=%2f 必要に応じて表示されます。これhttp://orders.maabookings.com/Login を行うにはどうすればよいですか??

4

1 に答える 1

1

Login.aspx を配置したフォルダーに web.config を追加します。

<?xml version="1.0"?>
<configuration>
  <system.web>
    <authorization>
      <deny users="?"/>
    </authorization>
  </system.web>
  <location path="Login.aspx">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>
</configuration>

および Global.asax で

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
    ' Fires upon attempting to authenticate the use

    Dim _URL As String = Request.Url.ToString

    If _URL.Contains("ReturnUrl") Then
        Response.Redirect("/Login")
    End If
End Sub

これはあなたを助けると思います。

于 2014-10-30T11:15:43.690 に答える