- PR -

フォーム認証でリダイレクト先の変更

1
投稿者投稿内容
ttcoupe
大ベテラン
会議室デビュー日: 2003/01/17
投稿数: 116
お住まい・勤務地: 大阪市
投稿日時: 2003-03-17 13:16

いつも拝見させてもらってます。

フォーム認証をした後に要求元URLへリダイレクトすると
思うのですが、このリダイレクト先を1つのURLにする事
は可能でしょうか。

http://localhost/Webアプリ名/ログインページ.aspx?ReturnUrl=要求元ページ.aspx

で、要求元ページを1つにしたいのです。
1ページを噛ます方法でもアリなので情報よろしくお願いします。

小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2003-03-17 14:05
引用:

ttcoupeさんの書き込み (2003-03-17 13:16) より:

フォーム認証をした後に要求元URLへリダイレクトすると
思うのですが、このリダイレクト先を1つのURLにする事
は可能でしょうか。



フォーム認証のページに飛んでくるのを、1つのページ
からにするようにしたらいいように思います。

フォーム認証後、Aというページを必ず表示させたいのであれば、
次のように考えればいいんじゃないでしょうか。

認証が必要な場合にはまずページAにリダイレクトする。
で、まだ認証されていないので、ページAを表示できずに
認証ページが表示される。
認証が終了すると、要求元ページはページAなので
ページAが表示される。

このように最初にページAにリダイレクトする、という処理が
ひとつ入ればうまくいくんじゃないかと。。。
ttcoupe
大ベテラン
会議室デビュー日: 2003/01/17
投稿数: 116
お住まい・勤務地: 大阪市
投稿日時: 2003-03-18 12:25
Shuさん、ありがとうございます。

そうですね、フォーム認証前にAというページへ遷移すれば
要求元URLがAになりますもんね。
でも、『セッション切れました』で、ユーザが画面操作して
AというURLへ遷移するにはどうすればよいのでしょうか??

Session_Endとかのイベントを使うのでしょうか。
教えてください。
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2003-03-18 12:52
ああ、セッションが切れてると認証用のページにとんじゃいますかね。。。
ということですっかり忘れてたのですが
SetAuthCookie
メソッドを利用して、認証情報を渡したあとにリダイレクトするんだったら
手動で飛び先を決定できますね。

#最初からこっちを思い出してればよかったんだ。。。
ttcoupe
大ベテラン
会議室デビュー日: 2003/01/17
投稿数: 116
お住まい・勤務地: 大阪市
投稿日時: 2003-03-18 22:07
すみません。僕自身が仕様分かってなかったです。

ホントのしたいことは
『セッションタイムアウト時に表示(リダイレクトされた)
ページののURLを1つにしたい』
なんです。

とあるシステムとASP.NETを統合する事になって、
上記の要件が必要なのです。
以下の方法でしてみたのですがだめでした。

@Login.aspxへのリンクをはったページを作成。
AWeb.configにもそのテンポラリページのURL
 を記述。
Bセッションタイムアウト時にテンポラリページへ飛び、
 Login.aspxでログインを行う。
C初回のみLogin.aspxを指定してユーザ認証を行う。

(※)Shuさんの言われたSetAuthCookieでトップページへ遷移
   するような仕組みにしてあります。ありがとうです!

です。
しかし、このやり方で行くとユーザ認証が行われていないので
テンポラリページへジャンプしてしまうのです。そこまでは
いい(ホントはNG)んですけど、Login.aspxの
ページへジャンプしないのです。そう!ユーザ認証をしてないから。

このような場合にどのような対応を行えばよいのでしょうか。
フォーム認証は諦めるのでしょうか。教えてください。
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2003-03-19 02:03
えーと、実際にどういう動きをさせたいのかよくわかりません。。。。

認証が必要なページと必要としないページの切り分け、それと
それぞれの設定の仕方、が整理されてないのかなぁ。。。
1

スキルアップ/キャリアアップ(JOB@IT)