問題タブ [partial-trust]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
6733 参照

.net - 部分信頼アセンブリによって呼び出された信頼済みアセンブリに FullTrust を付与する

次の環境を想像してください: 部分信頼モードで実行されているXBAPアプリケーション (デフォルトの動作。完全な信頼を要求することはオプションではありません。ただし、質問する前に、XBAP に完全な信頼が与えられている場合、すべてが期待どおりに機能します) は、ローカルにインストールされたアセンブリを参照しています。 、GAC にあります。これを実現するためAllowPartiallyTrustedCallersに、ローカル アセンブリに対して " " オプションを有効にし、完全な信頼も付与します。(これがある種のローカル接続対応物であると想像してください)

(ちなみに、私たちは AllowPartiallyTrustedCallers 属性を使用することのセキュリティ面を認識していますが、これはこの投稿の範囲外ですが、気にしないでください)

ここで、ローカル GAC アセンブリが完全に信頼されていても(いつでも呼び出すことAssembly.GetExecutingAssembly().IsFullyTrustedでこれを確認できます)、部分的に信頼された呼び出し元 (XBAP) によって呼び出されるため、要求 (暗黙的または明示的) は失敗します。(何か誤解している場合は訂正してください) . 幸いなことに、明示的なアサートを実行して、ローカル GAC アセンブリ内でアクセス許可を取得できます。次に例を示します。

これにより、この時点で完全なスタック ウォーク オン デマンドを回避し、必要に応じてファイル アクセスを実行できます。(繰り返しますが、私を修正してください...) これは実際には完全に機能します! (この場合)

問題は、ファイル IO をまったく行わないことです。実際、外部ライブラリを呼び出しているため、必要なことは何でも実行できます (レジストリへのアクセス、Web サービス要求の作成、書き込みなど、多くのことを行う可能性があります)。ファイルを呼び出し、アンマネージ コードを呼び出します (詳しくはわかりませんが、信頼できます)。部分的に信頼された呼び出し元に到達するためのデマンド スタック ウォークを防ぎます。すべてがローカルにインストールされた信頼できる GAC アセンブリから行われるため、これを実現できるはずです。(繰り返しになりますが、ここではセキュリティの側面は気にしないでください。クライアントを信頼できると仮定してください)

これを解決するためのアプローチ:

  • 私たちが最初に考えたのは、外部ライブラリを操作する前に、ほぼすべてのアクセス許可に対して一連のアクセス許可 (PermissionSet) をアサートすることでした。これはほとんど機能しますが、外部ライブラリが何らかの理由で失敗するスレッドをさらに開始する可能性があるため、または entryassembly にアクセスするために、ある時点でまだセキュリティ例外が発生しているようです。実際にはわかりません。

  • 次に、次の属性を試しました

p>

それもうまくいきませんでした。

  • 3 番目に、新しい AppDomain を開き、完全に信頼された GAC アセンブリを AppDomains エントリ ポイントにして、この appdomain 内で何かを実行することを考えました。残念ながら、これを達成することはできません... または、新しく作成された AppDomain は、「MyComputer」セキュリティ ゾーン Evidence または無制限の SecurityPermission で実行するように設定されていても、さらに多くの要求に失敗します。AppDomain 全体に完全な信頼を明示的に付与することはできません。

  • 第 4 に、caspolの使用はオプションではありません。(配置上の理由により)

さて、これは多くの情報になるはずなので、私たちがアーカイブしたいことを理解していただければ幸いです.

要点を言えば、完全に信頼されたアセンブリは、部分的に信頼された呼び出し元に到達するためにすべてのスタック ウォークを停止して、それが呼び出すアセンブリに完全な完全な信頼をどのようにアサートできるのでしょうか?

事前に多くの感謝

0 投票する
1 に答える
296 参照

.net - ClickOnce アプリケーションが部分信頼モードで実行されているかどうかを特定する (.NET)

アプリケーションが部分信頼モードで実行されているかどうかを (実行時に) 識別する方法はありますか? ClickOnce アプリケーションの 2 つのバージョンをデプロイすることを検討しています。1 つは完全信頼、もう 1 つは部分信頼であり、デプロイ モードに応じて異なる方法で実行したいことがいくつかあります (ダウンロードしたイメージを完全信頼でキャッシュするなど)。

分離ストレージの使用については既に調べましたが、ストレージが10Kに制限されているようです。画像のキャッシュには適していません。

0 投票する
6 に答える
58793 参照

c# - アセンブリは部分的に信頼された発信者を許可しません

部分的に信頼できる発信者を許可するようにライブラリを変更するにはどうすればよいですか?

次のエラーが発生します。

'/'アプリケーションのサーバーエラー。

セキュリティ例外

説明:アプリケーションがセキュリティポリシーで許可されていない操作を実行しようとしました。このアプリケーションに必要な権限を付与するには、システム管理者に連絡するか、構成ファイルでアプリケーションの信頼レベルを変更してください。

例外の詳細:System.Security.SecurityException:そのアセンブリは部分的に信頼された呼び出し元を許可しません。

ソースエラー:[関連するソース行がありません]

ソースファイル:App_Web_kzj7vfkn.2.cs
行:0

編集

問題をもう少し調べてみると、問題の原因はSystem.Web.UI.ClientScriptManagerのようです。

0 投票する
1 に答える
1390 参照

c# - WCFサービスを使用するWPFWeb(xbap)がSystem.Net.webPermission例外をスローする

ローカルマシンのIIS7.5で部分的な信頼を持って実行されているxbapアプリケーションがあります。xbapと同じディレクトリにWCFサービスを公開しました。

いくつかのフープを飛び越えた後、デバッグパーポーズのためにVisual Studioを介して動作させることができましたが、公開後にIISサーバーで動作させることができないようです。

.Net4.0で実行しています

エラーの内容:「タイプSystem.Net.webPermission、システムバージョン= 4.0.0.0、カルチャニュートラル、PublicKeyToken=b77a5c56l934e089のアクセス許可の要求が失敗しました。」

アップデート:

そこで、最初からやり直して、新しいWcfサービス、新しいXbap、および展開先の新しいサイトを作成しました。方法のすべてのステップを確認した後、私はそれを動作させました。そこで、以前のアプリを1つずつ新しいサイトに統合して、何が問題だったのかを発見し始めました。元のWcfサービスに絞り込みましたが、動作するサービスと同じにした後も、WebPermissionエラーが発生します。

ですから、それをやり直す以外に、何が問題を引き起こしていたのかはまだわかりません。

0 投票する
1 に答える
252 参照

silverlight-4.0 - silverlight4の信頼性の向上は、MACOSの信頼性の向上にもつながります

Silverlight4は、高い信頼度で実行するオプションを提供します http://www.silverlightshow.net/items/Silverlight-4-elevated-permissions.aspx

それがMACOSXである程度の高度も提供するかどうか誰かが知っていますか?

0 投票する
1 に答える
2353 参照

asp.net - NPOI dll(サードパーティのExcelライターdll).... System.Security.SecurityException:そのアセンブリは部分的に信頼された呼び出し元を許可しません

Asp.netmvcフレームワークでポータルを開発しました。このサイトをgodaddyhostingでホストしました。サードパーティのdll、つまりNPOI(Excelライターdll)の統合に大きな問題がありました。エラーが発生すると表示されます。

セキュリティ例外

スタックトレース:

この問題を解決するために、web.configファイルにこのコード行を追加しました。

そして、[アセンブリ:AllowPartiallyTrustedCallers()]をAssemblyinfo.csに追加します。しかし、着用は機能しません。主な問題は何ですか、解決策は何ですか?plsは私を助けます...

0 投票する
1 に答える
555 参照

nhibernate - Castle.ActiveRecordをコンパイルして部分的な信頼を許可しますか?

Castle.Core、Castle.ActiveRecord、NHibernateを構築して、部分的な信頼を可能にするにはどうすればよいですか?これを行う方法を示すリソースはWeb上にたくさんありますが、私が見つけたすべてのサイトは、nant build -D:assembly.allow-partially-trusted-callers=true各アセンブリの構築に使用すると言っています。ここでCastle.Coreトランクを見ると、 *。buildファイルはありません。

これはどのように達成できますか?.NET3.5を使用しています。これはWebアプリケーションではありません。

編集:NHibernate 2.1.2GA(最新の安定バージョンだと思います)を使用しています。以下の手順の問題は、トランクからCastle.CoreとCastle.ActiveRecordを構築することを参照しているように見えることです。トランクは、バージョンと一致しないNHibernate3.0.0を必要としているようです。

解決

私の微調整のほとんどすべては、プロジェクトのプロパティの下にある[セキュリティ]タブで行われました。

  • 「アプリケーションのインストール元のゾーン:」ラベルの下で「(カスタム)」を選択しました
  • アプリケーションに必要なアクセス許可については、UIPermissionだけでなくSqlClientPermissionも含める必要がありました。将来の開発のために問題を否定するために、私は「アセンブリにxへの無制限のアクセスを許可する」を選択しました。ここで、は選択された権限です。これは、上記の両方の権限に対して行われました。含めることを選択した権限はアプリケーションごとにあり、2つのケースが同じになることはないことに注意してください。
  • [詳細...]ボタンの下で、両方のオプションの選択を解除しました([選択したアクセス許可セットでこのアプリケーションをデバッグする]と[アプリケーションにその元のサイトへのアクセスを許可する])。

また、アプリケーションとSQL Serverは異なるドメインに存在するため、データベースサーバードメインを含めるように接続文字列を設定する必要がありました。したがって、元の接続文字列データソースは「DataSource=DB_SERVER」から「DataSource=DB_SERVER.DOMAIN」に移動する必要がありました。

最後に、requirePermission="false"すべての構成セクションを設定する必要がありました。私configSectionsはこのようになりました:

すべてが言われ、実行された後、私はこのアプリケーションを別のドメインからのファイル共有に正常に公開し、ユーザーに問題なくアプリケーションをインストールさせることができました。これらの手順を他のアプリケーションに適用し、新しくコンパイルされたアセンブリを使用することも魅力のように機能しました。

0 投票する
3 に答える
16133 参照

c# - そのアセンブリは、部分的に信頼された呼び出し元を許可しません。InitializeComponent()

シナリオ:私はアプリケーションの 1 つを Nhibernate を使用するようにリファクタリングしている最中で、数週間前にこの問題に遭遇しました。この問題はもともと Nhibernate と Castle にあり、これを解決するために両方とも[assembly: AllowPartiallyTrustedCallers]. ただし、UI とコードベースにいくつかの変更を加えた後、このエラーが再び発生しました。また、Form_Main からユーザー コントロールの読み込みをプログラムで制御していることも注目に値します。

問題:ユーザー コントロールが生成されるたびに、次のエラーが表示されます。ローディングをコメントアウトすると、プログラムが実行されます。デバッグすると、自動生成される InitializeComponent() 関数で終了します。その関数にステップインできないことに注意してください。

誰でもこの件について何か考えがありますか?[アセンブリ: AllowPartiallyTrustedCallers] を既にアセンブリに追加しています。このエラーの原因となっている参照(?)を特定する方法はありますか? または、InitializeComponent() をステップ実行する方法はありますか?

注:すべての権限が含まれており、プロジェクトは部分信頼に設定されています。

とにかくどんな助けでも大歓迎です。

0 投票する
2 に答える
654 参照

silverlight - IIS なしで Silverlight RiaServices を使用することは可能ですか?

Windows サービス インターフェイスとして Silverlight を使用したいと考えています。そのために、カスタム Web サーバーを使用して xap ファイルを提供していますが、正常に動作します。

RiaServices を使用したいのですが、もちろん IIS は関係ありません。

これが私のコードです:

そしてプログラム:

このコードを空の cmd アプリケーションで使用すると、再生ボタンを押すとランタイム例外がスローされます。

System.TypeAccessException が処理されませんでした。アセンブリ 'System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' は、現在の AppDomain で有効になっていない条件付き APTCA アセンブリです。このアセンブリを部分信頼コードまたはセキュリティ透過コードで使用できるようにするには、アセンブリ名「System.ComponentModel.DataAnnotations」を追加してください。PublicKey=0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9' to the the PartialTrustVisibleAssemblies list when creating the AppDomain. Source=System.ServiceModel.DomainServices.Server TypeName="" StackTrace: System.ServiceModel.DomainServices.Server.DomainTypeDescriptionProvider.GetForeignKeyMembers() で System.ServiceModel.DomainServices.Server.DomainTypeDescriptionProvider.GetTypeDescriptor (型 objectType、オブジェクト インスタンス) で System .ComponentModel.TypeDescriptor.TypeDescriptionNode.DefaultTypeDescriptor.System.ComponentModel.System.Collections.Concurrent.ConcurrentDictionary のDisplayClass8.b _7(Type タイプ)2.GetOrAdd(TKey key, Func2 valueFactory) System.ServiceModel.DomainServices.Server.DomainServiceDescription.GetDescription(Type domainServiceType) で System.ServiceModel.DomainServices.Hosting.DomainServiceHost..ctor(Type domainServiceType, Uri[] baseAddresses) で PartialTrustTest.Program.Main(String[ ] args) in D:\Users\carlucci\Documents\My Dropbox\My Dropbox\Way2\PartialTrustTest\PartialTrustTest\Program.cs:10 行目 System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) at System.AppDomain .nExecuteAssembly(RuntimeAssembly アセンブリ、String[] args) で System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel) で System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly() で System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext 、String[] activationCustomData) で System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext) で System.Activator.CreateInstance(ActivationContext activationContext) で Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone() で System.Threading.ThreadHelper.ThreadStart_Context(オブジェクト状態) System.Threading.ExecutionContext.Run で (ExecutionContext 実行コンテキスト、ContextCallback コールバック、オブジェクト状態、ブール値の ignoreSyncCtx) System.Threading.ExecutionContext.Run で (ExecutionContext 実行コンテキスト、ContextCallback コールバック、オブジェクト状態) System.Threading.Th でMicrosoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone() での CreateInstance(ActivationContext activationContext) System.Threading.ThreadHelper.ThreadStart_Context(オブジェクト状態) で System.Threading.ExecutionContext.Run(ExecutionContext executionContext、ContextCallback コールバック、オブジェクト状態、Boolean ignoreSyncCtx) System.Threading.ExecutionContext.Run (ExecutionContext executionContext、ContextCallback コールバック、オブジェクト状態) で System.Threading.ThMicrosoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone() での CreateInstance(ActivationContext activationContext) System.Threading.ThreadHelper.ThreadStart_Context(オブジェクト状態) で System.Threading.ExecutionContext.Run(ExecutionContext executionContext、ContextCallback コールバック、オブジェクト状態、Boolean ignoreSyncCtx) System.Threading.ExecutionContext.Run (ExecutionContext executionContext、ContextCallback コールバック、オブジェクト状態) で System.Threading.ThSystem.Threading.Th での ExecutionContext.Run (ExecutionContext 実行コンテキスト、ContextCallback コールバック、オブジェクト状態)System.Threading.Th での ExecutionContext.Run (ExecutionContext 実行コンテキスト、ContextCallback コールバック、オブジェクト状態)

readHelper.ThreadStart() InnerException:


System.ComponentModel.DataAnnotations を APTCA に追加しようとしましたが、成功しませんでした:(

アプリケーションを完全な信頼で実行するように変更しましたが、成功しませんでした:(

何か案が?

0 投票する
2 に答える
346 参照

asp.net - ASP.NET MVC 2、Ninject、部分信頼ホスティング

ASP.NET MVC 2 に関する本を読んでいて、リフレクションを使用してパラメーターを計算する方法や、疎結合モデルを導入するために Ninject を使用する方法について読んだとき、疑問に思います...これは部分的に機能しますか?信頼環境?

部分信頼の制限の 1 つはリフレクションであることを覚えています。

これについての経験はありますか?

どうもありがとう。