Ninject.MVC3 +中等信任 = 安全异常

发布于 01-05 01:47 字数 4671 浏览 4 评论 0原文

  1. 我创建了一个类型为 Asp.net MVC 4 的新项目
  2. 我通过 Ninject.MVC3 安装了该包 NuGet Install Package Ninject.MVC3
  3. 运行该项目时,出现安全错误:

Error

“/MediumTrustSample”应用程序中的服务器错误。

安全异常

描述:应用程序尝试执行操作,但未执行 安全策略允许。授予此申请 所需权限请联系您的系统管理员或更改 配置文件中应用程序的信任级别。

异常详细信息:System.Security.SecurityException:请求 类型为“System.Security.Permissions.ReflectionPermission”的权限, mscorlib,版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089'失败。

来源错误:

第 20 行:
DynamicModuleUtility.RegisterModule(typeof(OnePerRequestModule));线 21:
DynamicModuleUtility.RegisterModule(typeof(HttpApplicationInitializationModule)); 第 22 行:bootstrapper.Initialize(CreateKernel);第 23 行:
第 24 行:

源文件:C:\Users\Riderman_2\Documents\Visual Studio 2010\项目\MediumTrustSample\MediumTrustSample\App_Start\NinjectMVC3.cs 行数:22

堆栈跟踪:

[SecurityException:请求类型的权限 'System.Security.Permissions.ReflectionPermission,mscorlib, 版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089' 失败。]
System.Security.CodeAccessSecurityEngine.SpecialDemand(PermissionType 什么Permission、StackCrawlMark&堆栈标记) +0
System.Security.CodeAccessPermission.Demand(PermissionType 权限类型)+30
System.Reflection.RuntimeMethodInfo.Invoke(对象 obj,BindingFlags invokeAttr、Binder 绑定器、Object[] 参数、CultureInfo 文化、 布尔值跳过VisibilityChecks)+281
System.Reflection.RuntimeMethodInfo.Invoke(对象 obj,BindingFlags invokeAttr、Binder 绑定器、Object[] 参数、CultureInfo 文化) +38 Ninject.Infrastruct.Language.ExtensionsForMemberInfo.GetParentDefinition(MethodInfo ExtensionsForMemberInfo.cs:145 中的方法、BindingFlags 标志)
Ninject.Infrastruct.Language.ExtensionsForMemberInfo.IsDefined(PropertyInfo 元素、类型 attributeType、布尔继承)中 ExtensionsForMemberInfo.cs:173
Ninject.Selection.Heuristics.StandardInjectionHeuristic.ShouldInject(MemberInfo 成员)在 StandardInjectionHeuristic.cs:47
Ninject.Selection.<>c_DisplayClass3.b_2(IInjectionHeuristic h) in Selector.cs:92 System.Linq.Enumerable.Any(IEnumerable1 源,Func2 谓词)+149
Ninject.Selection.Selector.b_1(PropertyInfo p) 在 Selector.cs 中:92
System.Linq.WhereEnumerableIterator1.MoveNext() +156
System.Collections.Generic.List
1.InsertRange(Int32索引, IEnumerable1 集合)+552
Ninject.Selection.Selector.SelectPropertiesForInjection(Type type) 中 选择器.cs:89
Ninject.Planning.Strategies.PropertyReflectionStrategy.Execute(IPlan 计划)在 PropertyReflectionStrategy.cs:60
Ninject.Planning.<>c__DisplayClass3.b__1(IPlanningStrategy s) 在 Planner.cs 中:68
Ninject.Infrastruct.Language.ExtensionsForIEnumerableOfT.Map(IEnumerable
1 系列,操作 1 操作),位于 ExtensionsForIEnumerableOfT.cs:23
Planner.cs 中的 Ninject.Planning.Planner.GetPlan(Type type):70
Context.cs 中的 Ninject.Activation.Context.Resolve():180
Ninject.KernelBase.b__7(IContext context) 中 KernelBase.cs:375
System.Linq.WhereSelectEnumerableIterator
2.MoveNext() +238
System.Linq.Enumerable.SingleOrDefault(IEnumerable1 源)+299
Ninject.Planning.Targets.Target
1.GetValue(类型服务,IContext 父级)在 Target.cs:179
Ninject.Planning.Targets.Target1.ResolveWithin(IContext 父级) 目标.cs:147
Ninject.Activation.Providers.StandardProvider.GetValue(IContext StandardProvider.cs:97 中的上下文、ITarget 目标)
System.Linq.WhereSelectArrayIterator
2.MoveNext() +110
System.Linq.Buffer1..ctor(IEnumerable1 源) +488
System.Linq.Enumerable.ToArray(IEnumerable1 源) +104
Ninject.Activation.Providers.StandardProvider.Create(IContext上下文) 在 StandardProvider.cs:81 Ninject.Activation.Context.Resolve() 中 Context.cs:157 Ninject.KernelBase.b__7(IContext 上下文) 在 KernelBase.cs:375
System.Linq.WhereSelectEnumerableIterator
2.MoveNext() +238
System.Linq.d
_b11.MoveNext() +296
System.Linq.Enumerable.Single(IEnumerable
1 源)+282
Ninject.ResolutionExtensions.Get(IResolutionRoot 根, IParameter[] 参数)在ResolutionExtensions.cs:37
Ninject.Web.Mvc.Bootstrapper.Initialize(Func`1 createKernelCallback) 在 Bootstrapper.cs 中:72
MediumTrustSample.App_Start.NinjectMVC3.Start() 中 C:\Users\Riderman_2\Documents\Visual Studio 2010\Projects\MediumTrustSample\MediumTrustSample\App_Start\NinjectMVC3.cs:22

版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET版本:4.0.30319.272

问题

如何将Ninject.MVC3与MediumTrust一起使用?

  1. I created a new project of type Asp.net MVC 4
  2. I installed the package via Ninject.MVC3 NuGet Install Package Ninject.MVC3
  3. When running the project, security error:

Error

Server Error in '/MediumTrustSample' Application.

Security Exception

Description: The application attempted to perform an operation not
allowed by the security policy. To grant this application the
required permission please contact your system administrator or change
the application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: Request for the
permission of type 'System.Security.Permissions.ReflectionPermission,
mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' failed.

Source Error:

Line 20:
DynamicModuleUtility.RegisterModule(typeof(OnePerRequestModule)); Line
21:
DynamicModuleUtility.RegisterModule(typeof(HttpApplicationInitializationModule));
Line 22: bootstrapper.Initialize(CreateKernel); Line 23:
} Line 24:

Source File: C:\Users\Riderman_2\Documents\Visual Studio
2010\Projects\MediumTrustSample\MediumTrustSample\App_Start\NinjectMVC3.cs
Line: 22

Stack Trace:

[SecurityException: Request for the permission of type
'System.Security.Permissions.ReflectionPermission, mscorlib,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
failed.]
System.Security.CodeAccessSecurityEngine.SpecialDemand(PermissionType
whatPermission, StackCrawlMark& stackMark) +0
System.Security.CodeAccessPermission.Demand(PermissionType
permissionType) +30
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags
invokeAttr, Binder binder, Object[] parameters, CultureInfo culture,
Boolean skipVisibilityChecks) +281
System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags
invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
+38 Ninject.Infrastructure.Language.ExtensionsForMemberInfo.GetParentDefinition(MethodInfo
method, BindingFlags flags) in ExtensionsForMemberInfo.cs:145
Ninject.Infrastructure.Language.ExtensionsForMemberInfo.IsDefined(PropertyInfo
element, Type attributeType, Boolean inherit) in
ExtensionsForMemberInfo.cs:173
Ninject.Selection.Heuristics.StandardInjectionHeuristic.ShouldInject(MemberInfo
member) in StandardInjectionHeuristic.cs:47
Ninject.Selection.<>c_DisplayClass3.b_2(IInjectionHeuristic h) in Selector.cs:92 System.Linq.Enumerable.Any(IEnumerable1
source, Func
2 predicate) +149
Ninject.Selection.Selector.b_1(PropertyInfo
p) in Selector.cs:92
System.Linq.WhereEnumerableIterator1.MoveNext() +156
System.Collections.Generic.List
1.InsertRange(Int32 index,
IEnumerable1 collection) +552
Ninject.Selection.Selector.SelectPropertiesForInjection(Type type) in
Selector.cs:89
Ninject.Planning.Strategies.PropertyReflectionStrategy.Execute(IPlan
plan) in PropertyReflectionStrategy.cs:60
Ninject.Planning.<>c__DisplayClass3.<GetPlan>b__1(IPlanningStrategy s)
in Planner.cs:68
Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map(IEnumerable
1
series, Action1 action) in ExtensionsForIEnumerableOfT.cs:23
Ninject.Planning.Planner.GetPlan(Type type) in Planner.cs:70
Ninject.Activation.Context.Resolve() in Context.cs:180
Ninject.KernelBase.<Resolve>b__7(IContext context) in
KernelBase.cs:375
System.Linq.WhereSelectEnumerableIterator
2.MoveNext() +238
System.Linq.Enumerable.SingleOrDefault(IEnumerable1 source) +299
Ninject.Planning.Targets.Target
1.GetValue(Type service, IContext
parent) in Target.cs:179
Ninject.Planning.Targets.Target1.ResolveWithin(IContext parent) in
Target.cs:147
Ninject.Activation.Providers.StandardProvider.GetValue(IContext
context, ITarget target) in StandardProvider.cs:97
System.Linq.WhereSelectArrayIterator
2.MoveNext() +110
System.Linq.Buffer1..ctor(IEnumerable1 source) +488
System.Linq.Enumerable.ToArray(IEnumerable1 source) +104
Ninject.Activation.Providers.StandardProvider.Create(IContext context)
in StandardProvider.cs:81 Ninject.Activation.Context.Resolve() in
Context.cs:157 Ninject.KernelBase.<Resolve>b__7(IContext context)
in KernelBase.cs:375
System.Linq.WhereSelectEnumerableIterator
2.MoveNext() +238
System.Linq.d
_b11.MoveNext() +296
System.Linq.Enumerable.Single(IEnumerable
1 source) +282
Ninject.ResolutionExtensions.Get(IResolutionRoot root, IParameter[]
parameters) in ResolutionExtensions.cs:37
Ninject.Web.Mvc.Bootstrapper.Initialize(Func`1 createKernelCallback)
in Bootstrapper.cs:72
MediumTrustSample.App_Start.NinjectMVC3.Start() in
C:\Users\Riderman_2\Documents\Visual Studio
2010\Projects\MediumTrustSample\MediumTrustSample\App_Start\NinjectMVC3.cs:22

Version Information: Microsoft .NET Framework Version:4.0.30319;
ASP.NET Version:4.0.30319.272

Question

How to use Ninject.MVC3 with MediumTrust?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文