asp.net权限设置可能导致应用程序无法正常运行  
有些时候我们写的asp.net应用程序是运行在虚拟主机上。有一些虚拟主机可能是由于安全的考虑,对asp.net做了权限设置,会导致我们的应用程序无法正常运行。
问题现象:
由于某种原因,asp.net不能加载某些dll文件,出现如下错误提示: Server Error in '/' Application.
---------------------------------------------
Required permissions cannot be acquired.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Security.Policy.PolicyException: Required permissions cannot be acquired.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[PolicyException: Required permissions cannot be acquired.]
System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission) +2738293
System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Int32& securitySpecialFlags, Boolean checkExecutionPermission) +57
[FileLoadException: Could not load file or assembly 'Microsoft.Practices.ObjectBuilder, Version=1.0.51205.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)]
System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection) +0
System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +211
System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +141
System.Reflection.Assembly.Load(String assemblyString) +25
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +32
问题分析:
根据我的观察,asp.net应用程序直接生成的dll可以正常加载,由asp.net直接调用的外部dll也可以正常加载,但是仅被外部dll引用的其他外部dll不能加载。我的猜想是:由于权限是不完全的,asp.net应用本身生成的dll和直接引用的dll可以通过权限的继承获得权限,而仅被外部dll引用的其他外部dll因为权限的限制不能继承权限,因此出现了权限不足的问题。
问题解决:
通过在我电脑的试验,推测虚拟主机上修改了根web.config(在我电脑上其位置为C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG)的设置.
默认web.config的权限设置节如下:
推测虚拟主机上修改之后的设置:
他首先设置了allowOverride为false,这就阻止了在用户web.config中重新定义权限的能力。然后,他定义trust level为High,而不是默认的Full。经我测试,只要trust level不为Full,仅被外部dll引用的其他外部dll就不能被加载。因此,我建议技术支持将allowOverride节设置为true。这样我就可以在web.config中重新指定权限了。

转载于:https://www.cnblogs.com/wj110reg/articles/1020960.html

asp.net权限设置可能导致应用程序无法正常运行(转)相关推荐

  1. 为何计算机用户名无法改回,电脑用户名为中文导致一些程序无法正常运行的解决办法,将电脑用户名的中文改为英文。...

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. 电脑用户名为中文导致一些程序无法正常运行的解决办法.将电脑用户名的中文改为英文 ...

  2. 计算机超级用户名英文,电脑用户名为中文导致一些程序无法正常运行的解决办法,将电脑用户名的中文改为英文。...

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. 电脑用户名为中文导致一些程序无法正常运行的解决办法.将电脑用户名的中文改为英文 ...

  3. 服务器asp.net权限设置问题及解决方法时间:

    人服务器使用环境:WIN 2003 ASP.NET相对于ASP,设置权限方面有点不同,有一点儿设置错了都运行不到.在网上搜索到的都是很垃圾的答案,没有一个用得到的,下面是我自己设置并从中遇到的问题摸索 ...

  4. Transform数据权限浅析2之利用Java完成权限设置

    Transform数据权限浅析2之利用Java完成权限设置 一:项目背景 1.1:cognos的两种建模工具 为了更好的满足客户的需求,提升报表展现的效率,一种建模工具已经不能满足报表开发和展现的需要 ...

  5. ASP.NET -- WebForm -- Cookie的使用 应用程序权限设计 权限设计文章汇总 asp.net后台管理系统-登陆模块-是否自动登陆 C# 读写文件摘要...

    ASP.NET -- WebForm -- Cookie的使用 ASP.NET -- WebForm --  Cookie的使用 Cookie是存在浏览器内存或磁盘上. 1. Test3.aspx文件 ...

  6. 应用程序-特定 权限设置并未向在应用程序容器 不可用 SID

    应用程序-特定 权限设置并未向在应用程序容器 不可用 SID 网上也有方法:我的方法是把Administrator启用,

  7. 权限设置并未向在应用程序容器 不可用

    应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\LOCAL SERVICE SID ( ...

  8. android应用程序隐私设置在哪,手机权限设置在哪里_手机设置应用软件权限的具体步骤...

    手机权限设置在哪里?平时,我们使用手机安装程序时,会要求读取电话.录音和设备信息等等,这样让APP获取了我们的软件权限后,大家是不是觉得自己的手机都变得不安全了,所以我们有必要在安装软件之后,再对这一 ...

  9. android获取应用权限管理,如何在android中获取应用程序权限设置?

    我正在开发一个小应用程序,它只列出那些连接到互联网的应用程序.如何从Packageinfo类中读取 android清单文件以编程方式访问每个应用程序的权限设置? private void getWeb ...

最新文章

  1. BufferedReader 中的 readLine()
  2. SQL Server数据库大型应用解决方案总结
  3. jsp页面点击显示影藏div的一个方法
  4. 肯德基圣代中间空心_建造冰淇淋圣代解释CSS位置
  5. 清华大学python镜像_使用清华开源镜像安装tensorflow
  6. Oracle从零开始1——SQLplus
  7. TODA-MES电池行业解决方案
  8. Url...................哈哈哈哈哈哈哈哈哈
  9. (转)币圈人物志 BM(EOS,BTS,Steem缔造者)
  10. JT/T808校验码计算(按字节异或求和)
  11. 网络编程项目——在线电子词典
  12. windows查看本机的IP地址
  13. 福利卡巴斯基一年免费以及一些使用软件
  14. 怎样才可以关掉Mac电脑开机启动项?
  15. 二极管整流和同步整流区别
  16. 遇到问题--python---ImportError: Missing optional dependency ‘xlrd‘. Install xlrd >= 1.0.0 for Excel supp
  17. Nginx神来之笔,提高并发原来如此简单
  18. 连接WiFi电脑却无法上网
  19. c语言实验选择结构程序设计
  20. 004-python-列表、元组、字典

热门文章

  1. 【转】Windows8不联网直接安装.Net 3.5 Framework的方法
  2. 插件化框架DL源码的简单解析
  3. 11g rac生产环境异机恢复报错RMAN-6013
  4. ubuntu 创建桌面快捷方式
  5. !JS实战之随机像素图
  6. poj 2186 强连通分量
  7. 使用transform和transition制作CSS3动画
  8. linux 逻辑卷扩展
  9. Linux 整理笔记
  10. 《Oracle Database 12c DBA指南》第二章 - 安装Oracle和创建数据库(2.2 安装数据库软件)...