- - PR -
ログイン後リダイレクトさせたくない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-12-17 20:54
開発OS:Windows Vista Business
ASP.NET2.0 SQL Server 2008 で開発しております。 一般的なForm認証、つまりログインコントロールを配置してログイン後にDestinationPageUrlで指定したページでリダイレクトする、という動きはできております。 今回自分がやりたいのは、ログインコントロールでLoggingIng→Atuhenticate→LoggedInイベント発生後にどのページにもリダイレクトせずに、ログインコントロールが配置されているページ(Login.aspxとします)のまま留まりたいのです。 もちろんDestinationPageUrlに、Login.aspxを指定すれば、そのログインコントロールを配置した画面は表示されます。 しかしユーザー名やパスワード、ログインコントロール以外のコントロールの入力値などはクリアされてしまいます。 DestinationPageUrlを空にしても、DestinationPageUrlにLogin.aspxを指定した場合と同じ動きをしてしまいました。 ログインコントロールを使用して、ログイン後に画面遷移を行わないというのは無理なのでしょうか。 |
|
投稿日時: 2008-12-17 23:02
何をしたいのかよくわからないのですが、
一般的にSUBMITして画面遷移(自身のリロード含めて) したくないなら、見えない画面にPOSTするなど の方法を取ります。 |
|
投稿日時: 2008-12-17 23:02
FormsAuthentication クラスの SetAuthCookie メソッドを使って認証するようにすれば勝手にリダイレクトしません。
http://msdn.microsoft.com/ja-jp/library/system.web.security.formsauthentication.setauthcookie.aspx _________________ C#と諸々 |
|
投稿日時: 2008-12-18 00:04
ありがとうございます。
SetAuthCookieをキーワードに調べていくうちに、Ajaxを使って非同期にASP.NETの認証機能を使う方法が見つかりました。 これでリダイレクトせずにすみそうです。 確かに変わった画面遷移ですよね。 普通はログインコントロールで認証してユーザページにいざなうんでしょうが、 今回はログインコントロールは使用するものの、サーバー側でログインされたことだけわかればよく、端末側はそれを感知せず、続けて別のユーザでログイン処理をしたかったのです(ログインエラーぐらいは表示しますが…)。 |
1