- PR -

HTMLからログインさせたい

投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-01-21 21:51
またまたごめんなさい。
 LoginView クラスですね?System.Web.UI.WebControls.Login クラスではなく、LoginView クラスですね?ログインするためのコントロールが置いてあるのではなく、ログイン情報を元に表示する情報を変更するコントロールが置いてあるのですね?

 整理させてください。

 ログインを行うためのページがあります。これを仮に、LoginPage.aspx としておきます。
 ページのマスターページがあります。Site1.Master とします。
 そして、各ページがあります。
 その他に、Apache で運営されているサイトがあり、そこから、ASP.NET のサイトへ、ログイン情報を飛ばしたい。
 このとき、Apache 上には「ログイン名」と「パスワード」を入力するボックスがある。また、ASP.NET 側にログイン後、表示しているのと対応しているページ(あるいは、特定のページ)を表示させたい。

ということでいいですか?

 いや、てっきり、マスターページに「ログインするためのコントロール」を置いて、どこからでもログインできるのかと思っていました(^-^;


 まず、Apache からログインするときは、LoginPage.aspx にポストしてください。他のページに対するリクエストは、LoginPage.aspx へのリダイレクトになってしまうので、ポストした内容をLoginPage.aspx に送ることはできません。ログインを処理するのは LoginPage.aspx なので、必ずこのページへポストする必要があります。

 しかし、Apache 側で見ていたページに対応したページに飛んでいきたい、ということだと思います。もちろん、その方法もあります。リクエストにクエリをつけます。"LoginPage.aspx?ReturnUrl=URL"とすると、ログイン認証を行った後、URL に指定した所へリダイレクトします。このとき、スラッシュは %2f で指定します。
例:<form id="Form1" method="POST" action="http://XXXX/hoge/LoginPage.aspx?ReturnUrl=%2fclients%2fClientTop.aspx">

 ページ単位で ViewState を処理するのは、Page ディレクティブで EnableViewState を制御します。LoginPage.aspx の「ソース」を表示します。最初の行付近が "<%@ Page" で始まっていると思います。この最後にでも、「EnableViewState="false"」 を追加します。

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