JDP 發表於 2010-12-14 10:46:40

ASP.NET Login Control 登入後 Redirect 的方法

<asp:login id="LoginUser" runat="server" onauthenticate="OnAuthenticate"
    onloggedin="OnLoggedIn" onloggingin="OnLoggingIn" destinationpageurl="~">
</asp:login>

protected void OnAuthenticate(object sender, AuthenticateEventArgs e)
{
   e.Authenticated = false; //認證失敗
    if (String.Compare(ctlLogin.UserName, "foo", true) == 0 &&
      String.Compare(ctlLogin.Password, "bar", false) == 0)
    {
      e.Authenticated = true; //認證成功,則會自動執行OnLoggedIn Function,進行Redirect
    }
}       

protected void OnLoggedIn(object sender, EventArgs e)
{
    '覆蓋 ReturnUrl頁面參數
    Response.Redirect("~"); // 或是 Response.Redirect(Login1.DestinationPageUrl)
}


Login事件說明:
LoggedIn       發生於使用者登入網站且已經過驗證時。
LoggingIn       發生於使用者送出登入資訊之後,進行驗證之前。

Reference:
http://netomatix.com/Development/LoginControlBasic.aspx
http://zh-tw.w3support.net/index.php?db=so&id=33166
http://www.sharepointdev.net/sharepoint--general-question-answers-discussion/how-to-redirect-from-loginaspx-to-users-my-site-directly-18817.shtml

JDP 發表於 2010-12-14 14:07:45

SetAuthCookie + RedirectFromLoginPage 用法

if (Request.QueryString["ReturnUrl"] != null)
    {
      FormsAuthentication.RedirectFromLoginPage("someuserid", false);
    }
    else
    {
      FormsAuthentication.SetAuthCookie("someuserid", false);
      Response.Redirect("~/SomePage.aspx");
    }

Reference: http://stackoverflow.com/questions/1531645/asp-net-forms-authentication-with-windows-safari
頁: [1]
查看完整版本: ASP.NET Login Control 登入後 Redirect 的方法