- - PR -
フォーム認証とフレーム
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-01-19 17:15
ASP.NET VB.NET 共に初心者です。 ご教授の程、よろしくお願いします。
VS.NETを使用して、フォーム認証を使ったページを作成しています。 ログインページはフレーム無しのページで、認証されるとフレームありのページへ遷移させたいのです。 が、フレームセットのデザインを作成している時点から、SRC=”XXXXX.ASPX”と指定したデザインが 表示されずに、LOGIN.ASPXの内容が表示されます。 SRCプロパティに指定しないFRAMEは無表示です。 過去のスレッドにて、下記回答を見つけました 1、フレームのページをASPXにする 2、Target="_parent"にする 見つけたのですが、、、、二つとも同実現するのか、よく解りません 1の場合、追加の画面にてフレームセットを選んだ段階で、HTMLに変わってしまうため 「名前の変更」にて、強引にASPXに変更し、1行目に <%@ Page Language="vb" AutoEventWireup="false" Codebehind="defalt.aspx.vb" Inherits="xxxx.defalt"%> と追加すると Inherits="xxxx.defalt" 指定部の xxxx.defaltが読み込めませんというエラーになります 2の場合、 <authentication mode="Forms"> <forms loginUrl="login.aspx" /> </authentication> を <authentication mode="Forms"> <forms loginUrl="login.aspx" target="_parent" /> </authentication> としてみましたが エラーになります なんとか、フレームなしのログイン画面から、 FormsAuthentication.RedirectFromLoginPage でリダイレクト先の DEFALT.aspx に遷移させ、DEFALT.aspx をフレームありのページとして 作成できませんでしょうか??? フレームありのページは左にメニュー、右にコンテンツ画面です。 もしくは、フレームセットの右下にて、ログインでも良いのですが この場合、フォーム認証できるのでしょうか? WEB.CONFIG の指定の仕方は <authentication mode="Forms"> <forms loginUrl="login.aspx" /> </authentication> で構わないのでしょうか?? VS.NETを使用したWEBアプリの実践例の良い本があったら、教えてください。 よろしくお願いします | ||||
|
投稿日時: 2004-01-19 18:01
>が、フレームセットのデザインを作成している時点から、SRC=”XXXXX.ASPX”と>指定したデザインが
>表示されずに、LOGIN.ASPXの内容が表示されます。 Web.configの認証部分をコメントアウト(認証しない)にすると正しく表示されると思います。 --------------------------------------------------------------------- (追記) くわしい理由は↓のJittaさん書き込みの通りです。 --------------------------------------------------------------------- >DEFALT.aspx に遷移させ、DEFALT.aspx をフレームありのページとして >作成できませんでしょうか??? あまりかっこよくないのですが、DEFALT.aspxのPage_Loadに Response.Redirect("menu.htm", true); (menu.htmがフレーム) と記述してみたらどうでしょうか? [ メッセージ編集済み 編集者: ゆうじゅん 編集日時 2004-01-19 18:06 ] | ||||
|
投稿日時: 2004-01-19 18:01
だって、そのページ(xxxxx.aspx)にアクセスするためには認証が必要なんですから…期待通りにできあがっていると思いますよ。 フレームではない、xxxxx.aspx単体をデザイナで表示すれば、Okでしょ? フレームセットのページをデザインする場合、デザインするのは「xxxx.htm」のファイルで、「xxxxx.aspx」のファイルではないですよね。「xxxxx.aspx」のファイルは、実際にウェブサーバから読み込まれて表示されているのです。そこで「認証されていない」から、ログインページが表示されています。 [追加] なんか、とんでもない勘違いをしているような気がしてきた。 えっと、「認証していない場合はログインページが表示されるようにしているのだから、フレームセットのあるyyyy.htmが表示されるのはおかしい。フレームセットのあるyyyy.htmは読み込まれず(これを読み込もうとして認証されていないのだから)、ログインページがフレームなしに表示されるべき」ということでしょうか? [ メッセージ編集済み 編集者: Jitta 編集日時 2004-01-19 18:30 ] | ||||
|
投稿日時: 2004-01-19 18:47
ゆうじゅんさん Jittaさん ありがとうございました
Jittaさんの書込 引用 だって、そのページ(xxxxx.aspx)にアクセスするためには認証が必要なんですら… 期待通りにできあがっていると思いますよ。 そうですよねー すべて認証されたページにするために、必死にコーディングしてるのに! デザイナ上で表示されないからと、疑心暗鬼になってしまってました。 純粋に、フレームセットxxxxx.htm を作成し、名前の変更でxxxxx.aspx に変更するだけで うまく実現できました ありがとうございました ゆうじゅんさんの書込 引用 DEFALT.aspxのPage_Loadに Response.Redirect("menu.htm", true); (menu.htmがフレーム) と記述してみたらどうでしょうか? VB.NET で下記のようにコーディングしてみました Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Response.Redirect("menu.htm", True) End Sub login.aspx から defalt.aspx にRedirectされ defalt.aspxが表示されても Page_Loadに入ってこないようです 何か、まだ間違っているのでしょう まだまだ、精進いたします 今後とも、よろしくお願いいたします | ||||
|
投稿日時: 2004-01-20 09:39
遅くなって申し訳ありません。
web.configを <authentication mode="Forms"> <forms loginUrl="login.aspx" /> </authentication> でForms認証にした上でLogin.aspxではなくdefault.aspxを直接呼び出しても だめでしょうか? default.aspxが読み込まれるとき、認証するためにログイン画面であるlogin.aspxが 自動的に読み込まれるはずです。 | ||||
|
投稿日時: 2004-01-21 21:05
こちらこそ、遅くなりました 重ねて、気にかけて頂きありがとうございます WEB.CONFIG <authentication mode="Forms"> <forms loginUrl="login.aspx" /> </authentication> DEFALT.ASPX Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' ページを初期化するユーザー コードをここに挿入します。 Response.Redirect("main.htm", True) End Sub と指定し、DEFALT.ASPX を「スタートページに設定する」と LOGIN.ASPX は表示されませんでしたが MENU.HTM の形で、DEFALT.ASPX が表示されました。 ちょっと、動作確認用のPGが壊れてしまったかもしれませんので 金曜に、また確認してみます。 すみませんありがとうございました。 |
1