2009-03-13 8 views
1

ログインに成功した後にページが表示される場所のURLを上書きする適切な/ベストプラクティスの方法を誰かが知っているのだろうかと思いました。.NETメンバーシップログインReturnUrlオーバーライド

私はこれを試してみました:

protected void Login1_LoggedIn(object sender, EventArgs e) 
     { 
      if (Roles.IsUserInRole(Login1.UserName, "Other")) 
      { 
       Response.Redirect("/User/"); 
      } 
      else if (Roles.IsUserInRole(Login1.UserName, "Administrator")) 
      { 
       Response.Redirect("/Admin/"); 

      } 
     } 

誰もが他の提案を持っていますか?私は何

答えて

0

はあなたがWeb.configファイルに次の要素を追加することができます初期化(Page_Init)上の適切な場所にリダイレクトするページに送信し

3

です。だから、それだけで一つの場所に設定されます:

<loginRedirectByRole> 
    <roleRedirects> 
     <add role="Administrator" url="~/Admin/Page.aspx" /> 
     <add role="User" url="~/User/Page.aspx" /> 
    </roleRedirects> 
</loginRedirectByRole> 

あなたはまだフルArticle

0
HttpContext.Current.Response.RedirectLocation 

-seeコードでリダイレクトを行う必要があるだろう「「HTTPヘッダー内のredirectlocationを取得または設定しますロケーション ""

これは、元々クエリ文字列の "ReturnUrl"によって設定されています。

関連する問題