- - PR -
VB.NETをリモートで
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-10-02 21:46
.NET初心者です、宜しくお願いいたします。
VB.NETのWINDOWSFORMでACCESSデータを検索するPGMを作成致しました。で、単体の環境では問題なく実行できたのですが、LAN環境の他のPCから実行したところ最初のFORM(目次で振り分けのボタンがあるだけです)は出るのですが、次の画面への展開が出来ません。 プラットホームは共にXPで、ACCESSのデータ等全て共有ファルダにおいてコンパイルしています((1)のエラーメッセージが出ます)。 またACCESSのデータをサーバエクスプローラからでなくコードで直接読み込んでいるところはエラーメッセージは出るのですが続行で画面が展開します。 エラーメッセージは下記の通りです。 (1)「アプリケーションはセキュリティーポリシーで許可されていない操作を行おうとしました。操作にはSecurityExceptionが必要です。このアプリケーションにMicrosoft.NETセキュリティーポリシー管理ツールを使用してください。「続行」をクリックすると、アプリケーションはこのエラーを無視して続行します。「終了」をクリックすると、アプリケーションは直ちにシャットダウンされます。」 知識不足で申し訳ありませんが、ご助言頂けたらと思います。 よろしくお願い致します。 | ||||||||
|
投稿日時: 2003-10-03 10:38
ごまめさん、こんにちは。
と、言われてますので、「Microsoft.NETセキュリティーポリシー管理ツールを使用」してみましょう。 クライアント側で、管理ツールの「Microsoft .NET Framework 1.1 構成」を実行して、左側のツリーから「ランタイム セキュリティ ポリシー」を選択します。 右側に表示されるタスクの一覧で「アセンブリの信頼度を上げる」をクリックし、「アセンブリの信頼」ウィザードの指示に従って該当するアプリケーションの信頼レベルを変更すれば、多分OKだと思います。 ちなみに、アセンブリが署名されている場合、「同じ発行者からの全てのアセンブリ」に対して信頼レベルを設定出来ます。 .Net におけるセキュリティについて詳しくは、MSDNライブラリ等のドキュメントを参照して下さい。 [ メッセージ編集済み 編集者: きくちゃん 編集日時 2003-10-03 10:48 ] | ||||||||
|
投稿日時: 2003-10-03 13:24
こんにちは。
共有PCの「共有フォルダ」において、“他のPC上のプログラムを実行させた”のでしょうか。その場合、基本的に「共有フォルダ」を持つPCにしかアクセスできません。形は違いますが、「ノータッチデプロイメント」と同じような扱いになります。 http://www.atmarkit.co.jp/fdotnet/special/ntdeploy/ntdeploy_01.html 単純には、各PCに配布すればエラーにはならなくなります。 ちなみに、きくちゃんさんの「セキュリティーポリシー管理ツール」の方法では、 ・.NET Frameworkのバージョンがあがると再設定の必要がある(1.0と1.1は非互換) ・何らかの都合で勝手に書き換えられる可能性がある(1.0から1.0SPのように) ・変ないじり方をすると、すべてのコードがチェックなしに実行されるリスク という問題があります。 一つ目、反論があろうかと思いますが、私だって信じられないのですが、実際に起こっているのです。1.0で作ったアプリが動いていたところに1.1をインストールすると、セキュリティー違反が。そこで1.1の設定をすると、動くようになりました。1.0と1.1が両方はいっているにもかかわらず、1.0でコンパイルしたアプリが1.1を使っているのです。 | ||||||||
|
投稿日時: 2003-10-03 14:11
これはWebアプリですか、Windowsアプリですか? Webアプリから利用しているなら当然の動き。 Windowsアプリでこうなった、というなら。。。 ちょっと不思議なんで設定等細かく聞きたいところですね。 #ノータッチデプロイメントなら。。。あ、調べてないや。 | ||||||||
|
投稿日時: 2003-10-03 15:09
ノータッチデプロイメントです。実際には、HTMLからobjectタグでDLL呼び出しなので、Webアプリが適用される? | ||||||||
|
投稿日時: 2003-10-03 16:21
きくちゃんさん、Jittaさんはじめ、早速教えて頂きありがとうございました。
一人で行き詰っていたので、本当にただただ感謝です。 教えて頂いた「MSDNライブラリ」の「.NET Frameworkにおけるセキュリティ概要」を一生懸命読みながらランタイムセキュリティーポリシーの設定をして 無事にアプリケーションを動かす事が出来ました。 「アセンブリが署名されている場合の「同じ発行者からの全てのアセンブリ」に対しての信頼レベルを設定」についてはまだ分からずにいますが・・・ ただ、アプリケーションに変更を加えるたびに設定をし直さなくてはいけないというのが大変ですね。(クライアントが多いとなおさら) この点が「ノータッチデプロイメント」で解消されるところなのかなと理解いたしました。(ちなみにWindowsアプリケーションです) | ||||||||
|
投稿日時: 2003-10-03 17:00
Jittaさん、こんにちは。
いや、そういう可能性は否定出来ないと思います。 特にセキュリティ上の問題なので、デフォルトの動作がパッチ等によって変わってしまったり、それに伴って強制的にリセットされたり、という事は十分、考えられますよね。 3つ目の設定を誤った場合のリスクついては、そうか、間違ってセキュリティゾーンに対する信頼レベルとか弄られちゃうと怖いな...。 | ||||||||
|
投稿日時: 2003-10-03 18:06
.NET Frameworkのサービスパックによる変更は2つ目にあげました。SPあてると項目がすべて「名前が参照できない」みたいなことになってしまいます。機能しているようなのですが、なんか、ねぇ?
実際にセキュリティ設定をデプロイしているので、本当に怖いと思います。セキュリティ設定を変えるとかの警告なしに、変えることができてしまいます。しかも、本当の何もしないアプリケーションの配布に混ぜて配布することができてしまいます。私はMSDNにあったブートストラップの例を元にしてインストーラを作っているのですが、他のマシンにおいてあるファイルから実行できてしまいます。わぁ!セキュリティーホール(メーカー)だ!? 確か、 「解説 インサイド .NET Framework [改訂版]」 http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html でも、簡単にセキュリティーホールを作る可能性があるので注意するように、警告されていたと思います。 |