- PR -

From認証での画面遷移について

投稿者投稿内容
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2006-01-28 14:57
こんにちわ。Form認証の画面遷移についていまいち理解しきれていないので
どなたかご教示ください。以下の認識でよろしいのでしょうか?

web.configを以下のように設定した場合です。
<authentication mode="Forms">
  <forms name="TEST" loginUrl=".\COMMON.aspx" protection="All"
   timeout="30" path="/"></forms>
</authentication>

このCOMMON.aspxはセッションなどの基本情報と認証処理をするログイン前の処理です。
実際のログイン画面はLOGIN.aspxを用意しています。

システムにアクセスする場合、ユーザーはLOGIN.aspxを要求しますが、
認証エラーでCOMMON.aspxへリダイレクトされ、そこで認証されれば、
最初に要求したLOGIN.aspxにユーザーは遷移できる。

※ここで1つ困っていることがあるのですが、
COMMON.aspxの中で、意図的に違う画面(エラー画面など)へ遷移させることは
可能なのでしょうか?

試しにCOMMON.aspxの中でリダイレクトやトランスファーを実行したら
無限ループのように画面遷移してエラーとなってしまいました。

よろしくお願いします。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-01-28 15:27
「エラー画面」を認証許可済みでなくてもアクセスできるように web.config に設定すればいけます。

ところで、
引用:

システムにアクセスする場合、ユーザーはLOGIN.aspxを要求しますが、
認証エラーでCOMMON.aspxへリダイレクトされ、そこで認証されれば、
最初に要求したLOGIN.aspxにユーザーは遷移できる。


というのは、COMMON.aspx で認証許可を発行しているということですか?
ということは、LOGIN.aspx に遷移した時点で、ログインしなくても全てのページにアクセスできちゃうような気が…。
(そんな風に設定していない?だとしたら、この疑問も生まれないわけで…)
_________________
囚人のジレンマな日々
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2006-01-28 16:05
回答ありがとうございます!
休日なのに閲覧回数もそこそこあり、皆さんご苦労様です。

囚人さんのおっしゃる通りです。この場合、COMMON.aspxでいろいろチェックしていて、
そのチェックをパスすればCOMMON.aspxの最後で認証を発行しています。
nanodeCOMMON.aspxのチェックさえ正常に通れば全てのページアクセスできます。

ちなみに「エラー画面」を認証許可済みでなくてもアクセスできるように
web.configに設定する方法はどのように行うのでしょうか?
ご教示下さい。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-01-28 16:27
http://support.microsoft.com/default.aspx?scid=kb;ja;316871
ここがそのものズバリかな?
<location>タグを環境に合わせて設定してください。

引用:

囚人さんのおっしゃる通りです。この場合、COMMON.aspxでいろいろチェックしていて、
そのチェックをパスすればCOMMON.aspxの最後で認証を発行しています。
nanodeCOMMON.aspxのチェックさえ正常に通れば全てのページアクセスできます。


ログインページの意味がない気もしますが、詳しい事情も分からないし、そういう仕様だからいいのかな…?
_________________
囚人のジレンマな日々
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2006-01-28 17:14
囚人さんありがとうございます。

他システムとの絡みで、こんな感じなんですが、私自身が認証ページの仕組みを
理解してないだけかもしれません。

そして照会してもらったページありがとうございます。
一応認証しないページにもアクセスできたのですが、IISで切ってる下層ディレクトリ直下の
ファイルはうまくアクセスできるのですが、別階層のファイルを指定するとビルド?エラー
担ってしまいます。

よろしければご教示ください。
◇web.config◇

<location path=".\ERR\ERR001.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-01-28 17:19
ちょっと環境がない状態なので試せないのが歯痒いですが、
<location path="/ERR/RR001.aspx">
こうかな?
_________________
囚人のジレンマな日々
Liquid_Force
大ベテラン
会議室デビュー日: 2003/08/28
投稿数: 102
投稿日時: 2006-01-28 17:29
囚人さん、何から何まで本当にありがとうございます。

アドバイスして頂いたパス指定でもうまくいきませんでした。
もう少し自分でも試してみてうまくいったら当然自己レスとして
追記させていただきます。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-01-28 17:34
すいません^^;
じゃあ多分こうだ。
<location path="ERR/RR001.aspx">

また間違ってたら取り敢えず静観します^^;
http://ja.gotdotnet.com/quickstart/aspplus/doc/configformat.aspx
_________________
囚人のジレンマな日々

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