设为首页 收藏本站
查看: 1777|回复: 0

[经验分享] 『C#基础』IIS的权限问题

[复制链接]

尚未签到

发表于 2015-8-16 13:36:39 | 显示全部楼层 |阅读模式
  提要:
  IIS,互联网信息服务。我们在架设Asp.NET、WebServices等的时候会用到这个。主要是给网络中的其他用户提供网站或SOA服务的。
  最近在使用WebServices的时候,遇到了「写入」权限的问题,所以查了一下资料,总结了一下。
  
  正文:
  根据MSDN中关于IIS权限的一个帖子,在IIS权限设置中,比较关键的有两方面的问题:
  
       
  • 进程标识   
  • 用户访问权限
    PS:在这两个方面上,不同版本的IIS,在设置上略有不同。由于我用的是6.0的,所以就只说6.0的。
  
     6.0中,进程标识的配置:
   
         
  • 依次单击“开始”、“设置”,然后单击“控制面板”。      
  • 在“控制面板”中,双击“管理工具”。      
  • 在“管理工具”中,双击“Internet 信息服务 (IIS) 管理器”。      
  • 在 Internet 信息服务 (IIS) 管理器中,展开“<计算机名称> (本地计算机)”以及“网站”。      
  • 右键单击该虚拟目录,然后单击“属性”。      
  • 单击“<虚拟目录> 属性”对话框的“虚拟目录”选项卡。      
  • “应用程序池:”设置在此页的“应用程序设置”部分中。      
  • 在确定为 IIS 虚拟目录指定的应用程序池之后,单击“确定”。      
  • 在 Internet 信息服务 (IIS) 管理器中,展开“应用程序池”,右键单击为虚拟目录指定的应用程序池,然后单击“属性”。      
  • 单击“<应用程序池> 属性”对话框的“标识”选项卡以编辑与应用程序池关联的标识。   
  
     6.0中,支持的用户访问权限
   
         
  • 匿名访问:允许用户建立匿名连接。IIS 服务器以指定的 Guest 帐户登录用户。这个方式的登陆是可以使用任意一个系统用户作为IIS的用户的,也就是说,可以是系统的超级管理员。所以在分配的时候,一定要注意!      
  • Windows 集成验证:与用户的 Web 浏览器进行加密交换以确认用户的标识。      
  • 摘要验证:仅用于 Active Directory 帐户,在网络中发送哈希值,而不是纯文本密码。摘要验证可通过代理服务器和其他防火墙工作,可以在 Web 分布式创作和版本管理 (WebDAV) 目录中使用。      
  • 基本验证:在网络中以纯文本、未加密的格式传输密码。      
  • .NET Passport 身份验证:Web 验证服务。   
  
     6.0中,虚拟目录用户访问权限的设置:
   
         
  • 在 Internet 信息服务管理器中,展开“<计算机名称> (本地计算机)”和“网站”。      
  • 右键单击虚拟目录,然后单击“属性”。      
  • 单击虚拟目录“属性”对话框的“目录安全性”选项卡。      
  • 单击“身份验证和访问控制”下的“编辑”按钮。      
  • 启用一个或多个验证方法。   
    
  理论上说,只要给用户一个足够的权限,就可以对服务器进行相应的操作,包括对目录中的某个文件进行读写、增删,事实上,这也是可行的~
  但是,这里有一个细节不得不说。在代码中,你是否给出了足够的路径来访问你想访问的目录!因为如果是在服务器中,实际的物理路径映射与我们在本地的环境是有很大的不同的。一般可以使用System.Web.HttpContext.Current.Server.MapPath(“…”)来获取服务器端的路径。而这里还有一个问题,如果我们使用的是在DLL中的方法,而不是服务或者ASPX项的时候,如何解决这个问题呢?在DLL中的方法是无法使用上面说的那一个方法的。
  关于在服务器上DLL中的方法如何动态获取服务器本地路径:
  
       
  • 最简单的一个解决方案,就是添加一个字符串参数,用于接收传入的服务器路径,这是一个规避的解决方法;   
  • 写死在某个固定的路径下,但是,一旦某个路径名改变一个,估计就悲剧了;   
  • 暂时没有找到更好的方法。
    
  关于另一种获取路径的方法:AppDomain.CurrentDomain.SetupInformation.ApplicationBase
  
       
  • 这种方法是针对应用程序域的,其获得的路径可能会存在与安装路径不同的情况。   
  • 具体的使用,要根据当前使用的应该程序域而定,而不是应用程序。   
  • 如果对其不是十分了解的话,慎用。
    
  
  参考网摘:
  
       
  • http://baike.baidu.com/view/850.htm   「IIS 百度百科」   
  • http://msdn.microsoft.com/zh-cn/library/aa954062(BTS.10).aspx   
  • http://technet.microsoft.com/zh-cn/library/cc731798.aspx   
  • http://www.iyunv.com/zzandlx/archive/2010/10/25/1860595.html 「关于应用程序池」   
  • http://msdn.microsoft.com/zh-cn/library/w124b5fa.aspx      「关于AppDomain」

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-99809-1-1.html 上篇帖子: [Wix] 有IIS虚拟目录的程序安装(XP or Win2003) 下篇帖子: IIS 文件名、目录名或卷标语法不正确解决方法一例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表