- PR -

Session_StartでResponse.Redirect

1
投稿者投稿内容
HISASHI
会議室デビュー日: 2003/07/10
投稿数: 17
投稿日時: 2003-07-10 16:50
現在ASP.NET(VB.NET)でシステム開発しています。
ASP.NET初心者です。

はじめに起動されるページなんですが、Start.aspxという名前で作成してみました。
(Defalt.aspxというファイルは消してあります)
そこで、
Global.asax内のSession_Startのイベント内でResponse.Redirectをしてみたので
すがページ遷移してくれませんでした。
そもそも、Session_StartではResponse.Redirectは実行できないのでしょうか?

Sub Session_Start(sender As Object, e As EventArgs)

Response.Redirect("./Start.aspx")

End Sub

素直にDefalt.aspxという名前にすれば問題無いのかもしれませんが、セッションが
切れた場合にログイン画面へ画面をシステムの仕様により戻さなければなりません。
そのためSession_Startにイベントを記述してみました。

よろしくお願いします。

cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2003-07-10 16:58
セッションが切れたときに、ログイン画面に移動させるのは、
web.configに下記のように書けばいいんじゃないでしょうか。
コード:
    <authentication mode="Forms" />
    <authorization>
         <deny users="?"/>
    </authorization>


書籍とかWebにいろいろ出ていますよ。
HISASHI
会議室デビュー日: 2003/07/10
投稿数: 17
投稿日時: 2003-07-10 17:44
Catsさんお返事ありがとうございました。

web.configの設定でセッションが切れた場合にログイン画面に戻ることは
可能なんですね。勉強不足でした。

やって見ます。うまくいったら報告します。
kankiti
会議室デビュー日: 2003/06/25
投稿数: 13
投稿日時: 2003-07-10 17:52
VisualStudioを使用して開発をしているわけではないのですかね?
VisualStudioを使用しているのであれば、そこらへんを意識しなくでも
スタートページの設定を行うだけでいいと思うのですが。
あと、Session_Start内でRedirectするというのがちょっとわからない
のですが、通常であれば、あるWebページを参照しとうとした段階で
Session_Startが呼ばれると思いますが、ですから、この場合だと
Start.aspxをブラウザから表示しようとした段階で、Session_Startが
呼ばれるといったことになると思いますが。
cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2003-07-10 18:41
web.configでセッションが切れたときの処理を記述するわけではないです。

web.configでは、Forms認証を指定し、匿名ユーザのアクセスを禁止します。

セッションが切れると、匿名になるので、自動的にログインに飛ばされることになります。
FOX
ベテラン
会議室デビュー日: 2002/04/08
投稿数: 63
お住まい・勤務地: いなか
投稿日時: 2003-07-10 22:19
引用:

VisualStudioを使用して開発をしているわけではないのですかね?
VisualStudioを使用しているのであれば、そこらへんを意識しなくでも
スタートページの設定を行うだけでいいと思うのですが。



問題を履き違えているような気がします。

実際のユーザは当然VisualStudioを使いません。
VisualStudioでスタートページをあまり意識せずにすむのは、VisualStudioが間にいるからです。
サーバ(IIS)の仮想ディレクトリのデフォルトページの設定が変わるわけではないです。

蛇足ですが、仮想ディレクトリのデフォルトページの設定を変えたい場合は
1.IIS管理ツールで変えたい仮想ディレクトリのプロパティを表示する。
2.ドキュメントのタブをクリックする。
3.必要ならコンテンツを追加する。
4.デフォルトページにしたいものは一番上に持ってくる。
といった設定をすれば可能です。

まあこれも、このスレッドの本質に対する回答にはなっていませんが…。

1

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