【解決方法】ASP.NET C# で登録ページがログイン ページにリダイレクトされ続ける


これは、Web.config ファイルで認証が構成されている場合にのみ発生します。 ログインするにはこれが必要です。しかし、このリダイレクトを停止するにはどうすればよいですか?

Web.config

HTML
<authentication mode="Forms">
      <forms loginUrl="~/Login.aspx"
        name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>

そして、これが私が取得したURLです:

http://localhost:49575/(S(teuci1cr4nob5isksiq5rsf))/Login.aspx?ReturnUrl=%2fRegister.aspx

解決策 1

これは、サーバーが、指定した場所のこのページのみからユーザーをログインさせようとするためです。

問題を最小限に抑えるには 2 つの方法があります。 1 つ目の解決策は、同じページに登録フォームとログイン フォームを提供することです。 この方法では、単一のページを作成するだけで、ユーザーは同じページから登録またはログインできるようになります。 これは、この web.config の動作方法にこだわりたい場合に使用されます。

ただし、他のメソッドは WebSecurity クラスを使用し、その IsAuthenticated プロパティを使用してユーザーがログインしているかどうかを判断し、ユーザーをリダイレクトします。 また、ユーザーがどのページにいるのか (登録またはログイン。ログインまたは登録中の場合はリダイレクトせず、そうでない場合はログインまたは登録ページにリダイレクトします) を判断し、単純な登録によってログインさせることもできます。 。 このような、

C#
if(!WebSecurity.IsAuthenticated) {
   // No user logged in, 
   Response.Redirect("~/Login.aspx");
}

これでうまくいきます。 私は個人的には、コードビハインドでユーザーの値と状態を確認する 2 番目の方法を使用したいと考えています。

コメント

タイトルとURLをコピーしました