- - PR -
HTMLからログインさせたい
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 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"」 を追加します。 |