- PR -

別サイトへのデータ受渡方法を教えて下さい。

投稿者投稿内容
むっきゅ
会議室デビュー日: 2003/09/26
投稿数: 9
投稿日時: 2004-06-22 21:02
今回2度目の書き込みになります。よろしくお願いします。

現在、ASP.NET+VB.NETを使用し、WEBアプリケーションを組んでおります。
2つのWEBアプリケーションをIISで定義しており(仮に@、Aとします)、@のWEBアプリケーションのページでボタンをクリックしたら、AのWEBアプリケーションのページにリンクさせようとしています。
ただし、@よりAへデータを渡したいのです。
具体的には、@,A、それぞれに認証機能があり、@で認証したユーザID、パスワードをAに渡し、Aで自動認証をしたいと思っております。

何かよい方法がありましたら、ご教授下さるよう、よろしくお願いします。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-06-22 21:14
過去ログを検索すると・・・
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12120&forum=7
なスレッドもあったりするので、一度検索すると良いかもしれません。
むっきゅ
会議室デビュー日: 2003/09/26
投稿数: 9
投稿日時: 2004-06-23 14:57
NAL-6295さん、早速のレスありがとうございます。

ご紹介頂いた過去ログを試してみました。
しかし、どうやら駄目そうです。

この過去ログの方法は、フォーム認証を行っているようですが、私は認証をデータコンポーネントを使用して行っております。
データコンポーネントの内部では、.NETの認証機能等は使用しておりません。

なので、WEBアプリケーション間で、何かしらの方法でユーザIDとパスワードを渡す必要があると思っています。
もし私の認識が間違っているようならば、ご指摘下さいますようお願いします。

過去ログの方法から、応用が利くのでしょうか?
また、ほかに方法があるようなら、ご教授下さい。お願いします。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-06-23 17:40
むっきゅさん、こんにちは。

引用:

なので、WEBアプリケーション間で、何かしらの方法でユーザIDとパスワードを渡す必要があると思っています。


方法は色々考えられると思いますが、例えば何らかの形(cookie とか ページ埋め込みとか)でクライアント側に認証情報を保持する場合、パスワードは除外した方がいいですね。漏れちゃう可能性もありますから。
そのユーザーとして認証されてますよ、という事実だけを、例えば期限付きで受け渡せればいいんじゃないでしょうか。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-06-23 18:45
「過去ログを一度検索すると良いかもしれません。」というアドバイスは無視されたんですかね。

最近の投稿にも面白いのがあります。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12597&forum=7&1
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12467&forum=7&4
むっきゅ
会議室デビュー日: 2003/09/26
投稿数: 9
投稿日時: 2004-06-25 10:09
きくちゃんさん、todoさん、レスありがとうございます。

  >パスワードは除外した方がいいですね。漏れちゃう可能性もありますから。
  >そのユーザーとして認証されてますよ、という事実だけを、
  >例えば期限付きで受け渡せればいいんじゃないでしょうか。
ありがとうございます。
危うく、パスワードも送ってしまうところでした。
送るのはユーザIDだけにしました。


皆様お世話になりました。
お蔭様で実現することが出来ました。
実現方法は、次のようなやり方です。

1.サイト@のページにHiddenタグとJavaScriptを埋め込む。
 1-1.ユーザIDを格納するHiddenタグを配置
 1-2.Actionプロパティにリンク先となるサイトAのページ[JavaScript]
 1-3.Submit[JavaScript]
2.サイトAのページの@Pageディレクティブに属性を追加する
 2-1.EnableViewState="false"
 2-2.EnableViewStateMac="False"
3.サイトAのページのコードビハインドでサイト@よりの値を取得する
 3-1.Page.Item([1-1]のHiddenタグ名)で取得

このようにすることで、サイト@のページのフォーム情報が、サイトAのページに渡すことが出来、解決しました。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-06-25 11:12
引用:

むっきゅさんの書き込み (2004-06-25 10:09) より:

危うく、パスワードも送ってしまうところでした。
送るのはユーザIDだけにしました。



(2)のWEBアプリはユーザーIDだけで認証するということ?
他人のユーザIDが分かれば、簡単にハックできますよ。


きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-06-25 13:13
むっきゅさん、こんにちは。

引用:

送るのはユーザIDだけにしました。


todoさんも述べられていますが、単純にユーザIDだけで認証できたら意味無いですよね? 「認証されてますよ、という事実」をどう表現するのか、その辺りはもう一ひねり必要だと思いますので、色々と考えてみて下さい。

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