- PR -

JSPから外部PCのCドライブに書き込み

投稿者投稿内容
yu-ame
会議室デビュー日: 2004/07/22
投稿数: 4
投稿日時: 2006-06-13 15:37
>>Edossonさん
うーん ちょっと私の言葉足らずか意味が通じてないようで失礼しました。

>JSPはサーバー上で動くものです。
>クライアントで動作する、JavaScriptなどとは、区別が必要です。
>10000歩ほど譲って、これがブラウザ上で動作するスクリプトだったとしても、
>ローカル環境には干渉できません。

なことは百も承知です。

今回私はまじぇさんの内容がクライアントが不特定多数のPCではないのかな?と思ったのでサーバー側のJSPでサーバ側のtest.batを叩いてクライアントPCに共有など権限の設定でコピーが可能なのでは?と思ったわけです。

windowsについて詳しくないのでlinuxなどならばscpなりなんなりをtest.shかなんかで叩けば他マシンへのコピーが可能ですよね?(もちろんクライアントもそれに対応するプロセスがいないといけませんが)

まぁまじぇさんの案件はどうやらクライアントが不特定多数のような気がするのでJSPでは不可能かと思います。
まじぇ
常連さん
会議室デビュー日: 2006/05/31
投稿数: 22
投稿日時: 2006-06-13 15:38
>Edossonさん
クライアントに署名済みのアプリケーションをするのは作業的に
大変そうですが、その方法が一番スマートですね。
色々教えて頂き、抱えている問題以外の部分でも勉強になります。

>ひらさん
自分自身へのコピーバッチを実行する場合はコピー可能でした。
また、net useコマンドを叩いた場合、何も出力はありませんでした。
どこかでブロックされたと思います。
ひら
ぬし
会議室デビュー日: 2005/03/04
投稿数: 260
投稿日時: 2006-06-13 16:10
引用:

まじぇさんの書き込み (2006-06-13 15:38) より:
また、net useコマンドを叩いた場合、何も出力はありませんでした。


「コマンドは正常に終了しました。」というメッセージもありませんでしたか?

taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2006-06-13 16:10
引用:

yu-ameさんの書き込み (2006-06-13 15:37) より:
>>Edossonさん
うーん ちょっと私の言葉足らずか意味が通じてないようで失礼しました。

>JSPはサーバー上で動くものです。
>クライアントで動作する、JavaScriptなどとは、区別が必要です。
>10000歩ほど譲って、これがブラウザ上で動作するスクリプトだったとしても、
>ローカル環境には干渉できません。

なことは百も承知です。

今回私はまじぇさんの内容がクライアントが不特定多数のPCではないのかな?と思ったのでサーバー側のJSPでサーバ側のtest.batを叩いてクライアントPCに共有など権限の設定でコピーが可能なのでは?と思ったわけです。


 最初からJSPと言っているんですから、一般的な設計なら不特定多数ですね。
yu-ameさんが想定されているやり方はの場合、精々、10人程度の決まった方しか使わないとか、
かなり小規模なシステムじゃないと有り得ない気がします。
この場合なら、逆にJSPは使わないかと思います。
なんでもかんでもWebにするのはアホですからね。
まじぇ
常連さん
会議室デビュー日: 2006/05/31
投稿数: 22
投稿日時: 2006-06-13 16:47
>takuさん
サーバー16台、クライアント200台以上のシステムです。
なのでyu-ameさんの仰る方法ではちょっと厳しいですね・・・
しかし、yu-ameさんの仰ったような方法もあるんですね。
勉強になります・・・(自分の無知加減が恥ずかしいです

>ひらさん
そのメッセージすらでないです。
メッセージがでないのが不思議で2日も悩んでましたが、
皆さんの仰る通り、セキュリティーで弾かれてるんでしょうね・・・
ひら
ぬし
会議室デビュー日: 2005/03/04
投稿数: 260
投稿日時: 2006-06-13 17:29
引用:

まじぇさんの書き込み (2006-06-13 16:47) より:
皆さんの仰る通り、セキュリティーで弾かれてるんでしょうね・・・


そのセキュリティとは違いますね・・・
APサーバが何かわかりませんが、サービスで動いている場合
「コントロールパネル」の「サービス」で、実行ユーザを指定する場所があります。
たとえばAdministratorと登録した場合、ログインユーザにかかわらず
APサーバはAdministratorとして振舞います。

あと、メッセージの取得ですが、エラーの場合は
getErrorStreamを使います。おそらくgetOutputStreamを使っていたので
取得できなかったものと思います。

と、ここまで書いておいてなんなのですが、
要件を拝見しますと、この方法はあまり宜しくないですね。
全クライアントのAdministratorのパスワードをどこかに保存しておく
必要がでてきてしまいますので。

まじぇ
常連さん
会議室デビュー日: 2006/05/31
投稿数: 22
投稿日時: 2006-06-14 10:49
>>ひらさん

環境はWin2003Server+Interstageです。

getOutputStreamで取得してました・・・
会社に戻ったらgetErrorStreamで取得してみたいと思います。

>>要件を拝見しますと、この方法はあまり宜しくないですね。
>>全クライアントのAdministratorのパスワードをどこかに保存しておく
>>必要がでてきてしまいますので。

まさにその通りなんです。ただ、外部公開していない環境なので
苦肉の策で、最初の方法を選択してしまいました。

先日、仕様を良く考えたのですが、
行いたいことの詳細は
1.PC-AでUSERID-Aを使用してWEBシステムにアクセス
2.その後、PC-BでUSERID-Aを使用してWEBシステムにアクセス
3.その際、二重ログインをさせない為に、PC-AのIEを強制終了させる
(強制終了の方法は、クライアントにVBで作成したWindowsサービスが入っていて
常にC:\temp\を監視し、特定のファイルが存在したらIEを強制終了し、
特定のファイルを削除するものです。)

上記のようなことを行いたいが為に、2のタイミングでJSPから外部プロセスを
起動し、PC-AのC:\temp\に特定のファイルをコピーしたかったという訳です。

しかし、JSPからのローカル資源へのアクセスはできないようなので
困り果ててました。2のタイミングでPC-Bからの接続を拒否するのは
簡単なのですが、PC-AのIEを強制終了させるのが難しくて・・・
よく考えると何もアクションを起こせないPC-Aの方を
強制終了させるのでActivXや署名済みAppletが、使えないのでこの案件は無理かなと
思っております。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2006-06-14 11:03
引用:

行いたいことの詳細は
1.PC-AでUSERID-Aを使用してWEBシステムにアクセス
2.その後、PC-BでUSERID-Aを使用してWEBシステムにアクセス
3.その際、二重ログインをさせない為に、PC-AのIEを強制終了させる
(強制終了の方法は、クライアントにVBで作成したWindowsサービスが入っていて
常にC:tempを監視し、特定のファイルが存在したらIEを強制終了し、
特定のファイルを削除するものです。)


Webアプリケーションで行うとすると、かなり無茶な仕様です。
というか、そもそもPC-AのIE強制終了って必要なんですか? PC-Bからのログインを
拒否するだけで十分ではないですか?

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