10

Web サイトにフォーム ベースの認証を手動で実装したいと考えています。

Web.configデータストアにファイルを使用しています

<authentication mode="Forms">
  <forms loginUrl="~/Login.aspx" 
         name=".ASPXAUTH"
         path="/"
         requireSSL="false"
         slidingExpiration="true"
         defaultUrl="~/Admin/OrderHistory.aspx"
         cookieless="UseDeviceProfile"
         enableCrossAppRedirects="false"
         >
    <credentials passwordFormat="Clear">
      <user name="Admin" password="adm123$"/>
      <user name="Administrator" password="adm234%"/>
    </credentials>
  </forms>
</authentication>
<authorization>
  <deny users ="?" />
  <allow users = "*" />
</authorization>

Login.aspxASP.NET ログイン コントロールを使用してユーザー名とパスワードを取得するルート レベルのページがあります。

すべて正常に動作しますが、ユーザーがlogged in手動でlogin.aspxページに移動すると、ユーザーは defaultUrl ページにリダイレクトされません。

ユーザーがログインしていて、手動で login.aspx ページにアクセスした場合、ユーザーを特定のページ/defaultUrl ページにリダイレクトしたい

どうやってするの?

ログインボタンクリック

if (FormsAuthentication.Authenticate(LoginUser.UserName, LoginUser.Password))
    {
        FormsAuthentication.RedirectFromLoginPage(LoginUser.UserName, true);

    }
4

4 に答える 4

19
    if(HttpContext.Current.User.Identity.IsAuthenticated)
    {

    //Redirect to Default page
    Response.Redirect("default.aspx");
    }
于 2012-05-28T06:40:22.087 に答える
0

私は通常、このためにセッションの戦略を使用します。

セッションが確立されている場合は、ユーザーを特定のページにリダイレクトするか、ログインするように指示します。

詳細については、http://asp.net-tutorials.com/state/sessions/を参照してください。

于 2012-05-28T06:39:31.477 に答える
0
 protected void Page_Load(object sender, EventArgs e)
    {  
        if (!Request.UrlReferrer.Equals("http://localhost:1360/login_page.aspx"))
        {
            Response.Redirect("ERROR ==>? 404");
        }
    }
于 2018-07-30T13:38:28.517 に答える