- PR -

Form認証について

1
投稿者投稿内容
ジェミニ
常連さん
会議室デビュー日: 2003/08/26
投稿数: 33
投稿日時: 2004-07-27 13:54
いつも参考にさせて頂いております。
今回、Form認証について少しお伺いしたい事があるのですが

現在、ASP.NET(VB) & Windows2000Pro & SqlServer2000 で開発を行っており、
今回システムにForm認証を追加する事になったのですが以下の事で悩んでおります。

ログインページ(A)から同一仮想ディレクトリ内の画面(B)は問題なく表示されるのですが、
そのページから違う仮想ディレクトリにあるページ(C)を表示しようとすると
ログインページ(A)に戻ってしまいます。
そのログインページ(A)でもう一度ログインすると呼び出していたページ(C)が表示されます。
これはやはり認証がきれている為なのでしょうか?

ちなみに、Web.config は

--- 略 -----
<authentication mode="Forms">
<forms name=".ASPXAUTH"
loginUrl="LogIn.aspx"
protection="All"
timeout="30"
path="/"></forms>
</authentication>

<machineKey
validationKey= "C50B3C89CB21F4F1422FF158A5B42D0E8DB8CB5CDA1742572A487D9401E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE"
decryptionKey= "8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F"
validation="SHA1"
/>
--- 略 -----

としており、ログインページ(A)のソースではデータベースでログイン情報をチェックし
認証チケットを作成しクッキーにセットした後
Response.Redirect("飛び先(B)のpath")
としており、また次のページ(B)よりボタンクリックイベントで
Response.Redirect("違う仮想ディレクトリのページ(C)のpath")
としております。

クッキーの情報はログインページでのみセットしていますが、次のページ(B)でも
セットし直さないといけないのでしょうか?

わかりにくい説明で申し訳ありませんが、よろしくお願いいたします。
ジェミニ
常連さん
会議室デビュー日: 2003/08/26
投稿数: 33
投稿日時: 2004-07-27 14:10
自己レスです。
原因?なのかわかりませんが、次の事でうまくいきました。

元々、ログインページはVB.NETのデバッグで動かしていたのでURLが"http://LocalHost"と
なっていましたが、飛び先の違う仮想ディレクトリはURLが"http://サーバー名"となっていました。
それで、ログインページのURLを"http://サーバー名"とするとうまく動きました。

お騒がせいたしました。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-07-27 15:23
ジェミニさん、こんにちは。

引用:

原因?なのかわかりませんが、次の事でうまくいきました。


間違いなく原因でしょう。
ブラウザを閉じてもコンピュータを再起動しても、cookieを使えば設定が保持されるのは何故なのか、考えてみた事あります? 一度、クライアントに保存されている cookie ファイルを見てみると(中を見るまでもなく)、その辺の仕組みが何となく判るのではないかと思います。
ジェミニ
常連さん
会議室デビュー日: 2003/08/26
投稿数: 33
投稿日時: 2004-07-28 11:15
きくちゃんさん、こんにちは

お恥ずかしいながら、今まであまりクッキーを意識して開発を行っていなかったのが
現状です。
これをきにもう少しWEB開発について勉強してみようと思います。
1

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