サブテキストインストールで、信頼レベルが中レベルでエラーが発生する
-
05-07-2019 - |
質問
中信頼レベルの環境(ホスト: Crystaltech )であり、次のエラーが発生しています(以下を参照)。管理のセットアップはできましたが、実際に使用するためにブログにアクセスしようとすると、ブームになります。
「アップグレード」できることはわかっています。環境を完全な信頼レベルに設定しますが、エラーが発生している理由と、それがもたらす影響が私がやる前に完全な信頼に移行することを理解したいです。
この質問を展開するには; 「信頼レベル」とは何ですか?
セキュリティ例外
説明: アプリケーションが実行しようとした セキュリティで許可されていない操作 ポリシー。このアプリケーションを付与するには 必要な許可は連絡してください システム管理者または変更 アプリケーションの信頼レベル 構成ファイル。
例外の詳細: System.Security.SecurityException: タイプの許可のリクエスト 'System.Security.Permissions.SecurityPermission、 mscorlib、Version = 2.0.0.0、 Culture = neutral、 PublicKeyToken = b77a5c561934e089 ' 失敗しました。
ソースエラー:
未処理の例外が生成されました 現在の実行中 Webリクエスト。に関する情報 例外の起源と場所 例外を使用して識別できます 以下のスタックトレース。
スタックトレース:
[SecurityException:のリクエスト タイプの許可 'System.Security.Permissions.SecurityPermission、 mscorlib、Version = 2.0.0.0、 Culture = neutral、 PublicKeyToken = b77a5c561934e089 ' 失敗しました。]
System.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal(String virtualPath、IPrincipalユーザー、文字列 動詞)+47
Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.GetHandlerForUrl(String url)+66
Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.ProcessHandlerTypePage(HttpHandler アイテム、HttpContextコンテキスト)+143
Subtext.Framework.UrlManager.UrlReWriteHandlerFactory.GetHandler(HttpContext コンテキスト、文字列requestType、文字列 url、文字列パス)+340
System.Web.HttpApplication.MapHttpHandler(HttpContext コンテキスト、文字列requestType、 VirtualPathパス、文字列 pathTranslated、ブール値useAppConfig) +175 System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +128 System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、ブール値&同期完了) +161
解決
完全な信頼に移行するか、CheckUrlAccessForPrincipal()の呼び出しを削除して再コンパイルする以外に、エラーを回避する別の方法はないと思います。
しかし、見た目により、この特定の問題はサブテキストSVN(リビジョン3290)ですでに修正されています。また、サブテキスト2.0.1の修正を含む新しいビルドタスクも追加しました。準備ができたらリリースされると思います。
他のヒント
信頼レベルは、実際には一部のsecurity.configファイルへの単なるポインターです。 dafaultの信頼レベルは、C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ web.config、" Medium"で定義されています。 web_mediumtrust.configを指す信頼。
例外については、リフレクターを使用してSystem.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal()を見ると、メソッドが[SecurityPermission(SecurityAction.Demand、Unrestricted = true)]で属性付けられていることがわかります。つまり、無制限のセキュリティ許可。中程度の信頼で実行されていません。
工場に追加する csgeroから:
http:// www .kowitz.net / archive / 2008/08/15 / upgrading-to-subtext-2.0-fail.aspx
Phil Haackからのちょっとしたコメントがあります。彼は今、他のことで忙しいと思います:)