- PR -

VB.NETをリモートで

投稿者投稿内容
ごまめ
会議室デビュー日: 2003/10/02
投稿数: 6
投稿日時: 2003-10-02 21:46
.NET初心者です、宜しくお願いいたします。
VB.NETのWINDOWSFORMでACCESSデータを検索するPGMを作成致しました。で、単体の環境では問題なく実行できたのですが、LAN環境の他のPCから実行したところ最初のFORM(目次で振り分けのボタンがあるだけです)は出るのですが、次の画面への展開が出来ません。
プラットホームは共にXPで、ACCESSのデータ等全て共有ファルダにおいてコンパイルしています((1)のエラーメッセージが出ます)。
またACCESSのデータをサーバエクスプローラからでなくコードで直接読み込んでいるところはエラーメッセージは出るのですが続行で画面が展開します。

エラーメッセージは下記の通りです。
(1)「アプリケーションはセキュリティーポリシーで許可されていない操作を行おうとしました。操作にはSecurityExceptionが必要です。このアプリケーションにMicrosoft.NETセキュリティーポリシー管理ツールを使用してください。「続行」をクリックすると、アプリケーションはこのエラーを無視して続行します。「終了」をクリックすると、アプリケーションは直ちにシャットダウンされます。」

知識不足で申し訳ありませんが、ご助言頂けたらと思います。
よろしくお願い致します。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2003-10-03 10:38
ごまめさん、こんにちは。

引用:

エラーメッセージは下記の通りです。
(1)「アプリケーションはセキュリティーポリシーで許可されていない操作を行おうとしました。操作にはSecurityExceptionが必要です。このアプリケーションにMicrosoft.NETセキュリティーポリシー管理ツールを使用してください。「続行」をクリ


と、言われてますので、「Microsoft.NETセキュリティーポリシー管理ツールを使用」してみましょう。
クライアント側で、管理ツールの「Microsoft .NET Framework 1.1 構成」を実行して、左側のツリーから「ランタイム セキュリティ ポリシー」を選択します。
右側に表示されるタスクの一覧で「アセンブリの信頼度を上げる」をクリックし、「アセンブリの信頼」ウィザードの指示に従って該当するアプリケーションの信頼レベルを変更すれば、多分OKだと思います。
ちなみに、アセンブリが署名されている場合、「同じ発行者からの全てのアセンブリ」に対して信頼レベルを設定出来ます。

.Net におけるセキュリティについて詳しくは、MSDNライブラリ等のドキュメントを参照して下さい。


[ メッセージ編集済み 編集者: きくちゃん 編集日時 2003-10-03 10:48 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 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を使っているのです。
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2003-10-03 14:11
引用:

Jittaさんの書き込み (2003-10-03 13:24) より:

 一つ目、反論があろうかと思いますが、私だって信じられないのですが、実際に起こっているのです。1.0で作ったアプリが動いていたところに1.1をインストールすると、セキュリティー違反が。そこで1.1の設定をすると、動くようになりました。1.0と1.1が両方はいっているにもかかわらず、1.0でコンパイルしたアプリが1.1を使っているのです。



これはWebアプリですか、Windowsアプリですか?
Webアプリから利用しているなら当然の動き。
Windowsアプリでこうなった、というなら。。。
ちょっと不思議なんで設定等細かく聞きたいところですね。

#ノータッチデプロイメントなら。。。あ、調べてないや。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-10-03 15:09
引用:

小野@EACさんの書き込み (2003-10-03 14:11) より:

これはWebアプリですか、Windowsアプリですか?
Webアプリから利用しているなら当然の動き。
Windowsアプリでこうなった、というなら。。。
ちょっと不思議なんで設定等細かく聞きたいところですね。

#ノータッチデプロイメントなら。。。あ、調べてないや。



 ノータッチデプロイメントです。実際には、HTMLからobjectタグでDLL呼び出しなので、Webアプリが適用される?
ごまめ
会議室デビュー日: 2003/10/02
投稿数: 6
投稿日時: 2003-10-03 16:21
きくちゃんさん、Jittaさんはじめ、早速教えて頂きありがとうございました。
一人で行き詰っていたので、本当にただただ感謝です。

教えて頂いた「MSDNライブラリ」の「.NET Frameworkにおけるセキュリティ概要」を一生懸命読みながらランタイムセキュリティーポリシーの設定をして
無事にアプリケーションを動かす事が出来ました。

「アセンブリが署名されている場合の「同じ発行者からの全てのアセンブリ」に対しての信頼レベルを設定」についてはまだ分からずにいますが・・・

ただ、アプリケーションに変更を加えるたびに設定をし直さなくてはいけないというのが大変ですね。(クライアントが多いとなおさら)
この点が「ノータッチデプロイメント」で解消されるところなのかなと理解いたしました。(ちなみにWindowsアプリケーションです)
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2003-10-03 17:00
Jittaさん、こんにちは。

引用:

 一つ目、反論があろうかと思いますが、私だって信じられないのですが、実際に起こ



いや、そういう可能性は否定出来ないと思います。
特にセキュリティ上の問題なので、デフォルトの動作がパッチ等によって変わってしまったり、それに伴って強制的にリセットされたり、という事は十分、考えられますよね。

3つ目の設定を誤った場合のリスクついては、そうか、間違ってセキュリティゾーンに対する信頼レベルとか弄られちゃうと怖いな...。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-10-03 18:06
引用:

きくちゃんさんの書き込み (2003-10-03 17:00) より:

特にセキュリティ上の問題なので、デフォルトの動作がパッチ等によって変わってしまったり、それに伴って強制的にリセットされたり、という事は十分、考えられますよね。


 .NET Frameworkのサービスパックによる変更は2つ目にあげました。SPあてると項目がすべて「名前が参照できない」みたいなことになってしまいます。機能しているようなのですが、なんか、ねぇ?

引用:

3つ目の設定を誤った場合のリスクついては、そうか、間違ってセキュリティゾーンに対する信頼レベルとか弄られちゃうと怖いな...。


 実際にセキュリティ設定をデプロイしているので、本当に怖いと思います。セキュリティ設定を変えるとかの警告なしに、変えることができてしまいます。しかも、本当の何もしないアプリケーションの配布に混ぜて配布することができてしまいます。私はMSDNにあったブートストラップの例を元にしてインストーラを作っているのですが、他のマシンにおいてあるファイルから実行できてしまいます。わぁ!セキュリティーホール(メーカー)だ!?

確か、
「解説 インサイド .NET Framework [改訂版]」
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
でも、簡単にセキュリティーホールを作る可能性があるので注意するように、警告されていたと思います。

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