IIS虚拟目录实现与文件服务器网络驱动器映射共享

这篇文章转载别人,想原创作者致敬!

我本人也遇到同样的问题,故转载记录。

本文重点描述如何使用IIS访问共享资源来架设站点或执行 ASP.Net 等脚本。

通常情况下,拥有多台服务器的朋友在使用IIS建立站点的时候,会遇到如何把多台服务器的资源合并到一起的问题。如何让A服务器的站点,访问B服务器内的资源(如:音乐、视频等)。 
当然,我们可以使用 http 协议来实现。在B服务器内建立一个资源站点,然后A服务器的站点直接通过http方式请求B服务器内的资源站点来获得资源,有时候这样做不是我们想要的效果。 
设想,能否将B服务器的资源共享到A服务器中来,作为A服务器站点中的一个虚拟目录呢? 
Linux中,我们可以使用 NFS 很方便的达到这个目的,同样,在IIS中也是同样可行的,请见下文中的详细描述。

准备工作 
1.共享资源服务器为 ShareServer,IP地址为:192.168.100.10; 
2.Web服务器为 WebServer,IP地址为:192.168.100.20

详细步骤: 
一、共享账户的建立 
1.在 WebServer 上建立一个用户名,方便使用该用户读取 ShareServer 上的共享目录,为了web文件能正常运行,同时又避免使用户拥有过高的权限,我们可以直接把该用户归入 Guests(win2003中) 组,或者 IIS_IUSRS(win2008中) 组内,这样就一举多得了。我这里建立的用户名为 IIS_ShareUser ,密码为 123456; 
2.在 ShareServer 中也建立一个同名同密码的用户(必须一致,否则在UNC验证的时候会无法登陆)。这里用户名也应该为 IIS_ShareUser ,密码为 123456,也归入Guests组中;

二、共享位置的建立 
1.ShareServer 中使用文件夹共享工具,共享出一个目录,共享名为 public ,共享权限设置为 Administrators 组 读取+写入,IIS_ShareUser 用户 读取(如果需要存东西,就加上 写入 权限); 
这里 Administrators 用户必须拥有 读取+写入 权限,否则在 WebServer 里使用IIS直接设置的时候会提示无法保存设置。 
共享位置的文件夹安全设置也必须加入 IIS_ShareUser 的 读取运行 权限,另外还需要加入IIS进程用户的 读取运行 权限,这里不再描述运行IIS站点所需要的 文件夹安全 权限设置。

三、IIS中引用共享目录 
1.WebServer 中IIS里建立站点或虚拟目录,路径指向 \\192.168.100.10\public ,连接认证用户手动输入为 IIS_ShareUser ,密码 123456。 
当第1步完成的时候,您已经通过web方式访问该站点或虚拟目录中的来自 ShareServer 共享目录的资源,但是 ASP.Net 还没有权限执行。 
2.ASP.Net的权限设置 
从站点根目录下打开 web.config 文件,在 <system.web> 节点以内,加入以下内容: 
<identity impersonate="true" userName="IIS_ShareUser" password="123456" /> 
其实就是修改了 ASP.Net 执行的认证方式,把认证方式修改为 ASP.Net模拟用户 ,这样就能让 ASP.Net 通过刚才建立的共享账号执行和访问 ShareServer 中的资源了。

但是! 这还只是可以访问资源文件,对于aspx这样的需要执行的文件来说,还会出现应用程序的信任级别问题,说信任已失效之类的错误.

MS的网站上给出来解决方法,

http://support.microsoft.com/default.aspx?id=320268

可能对于其他人来说可以执行成功, 因为在网上也看到很多人发了日志出来. 但对于我来说, 怎么也成功不了.

后来找了很多资料, 发现原来还差一个参数.

c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol.exe -m -ag 1 -url "file:\\ computername \ sharename \ *"FullTrust -exclusive on 以上是MS站上给出的命令, 以下是我的(注意红色的参数): c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol.exe -q -m -ag 1 -url "file:\\ computername \ sharename \ *"FullTrust -exclusive on

注意内容:要想获得虚拟目录的指向路径在ASP.NET中要使用Server.MapPath()方法.

附注:
1.本文中的ASP.Net权限设置内容中,直接把用户和密码都写入 web.config 文件内,这样做安全性不是很好,可以使用以下方法提高安全性:
从微软下载工具 aspnet_setreg.exe (附送下载地址:http://download.microsoft.com/download/2/9/8/29829651-e0f0-412e-92d0-e79da46fd7a5/aspnet_setreg.exe) 下载后请解压,这是一个压缩包。
在 WebServer 中使用 aspnet_setreg.exe 执行以下指令:
aspnet_setreg.exe -k:SOFTWARE\AspNetIdentityAPP\identity -u:"IIS_ShareUser" -p:"123456"
备注:这里的AspNetIdentityAPP\identity 可以根据你个人的爱好来设置,只要在读取的地方对应就行了。
成功执行后打开注册表编辑器,打开目录 HKLM\SOFTWARE\AspNetIdentityAPP\identity 会看到 userName 和 password 已经被系统加密了。
我们需要授予IIS进程用户权限,以方便IIS用户读取这个加密后的配置,右键-->权限,加入 NetWork Service组(如果是WIN2003以下版本,IIS进程用户应为ASPNET) 读取 权限。
打开站点根目录下的 web.config ,把 <identity impersonate="true" userName="IIS_ShareUser" password="123456" /> 替换为
<identity impersonate="true" userName="registry:HKLM\SOFTWARE\AspNetIdentityAPP\identity\ASPNET_SETREG,userName" password="registry:HKLM\SOFTWARE\AspNetIdentityAPP\identity\ASPNET_SETREG,password" />
保存退出即可,这样就完成了整个过程,安全性也得到了提升。

转载于:https://www.cnblogs.com/wanghafan/p/5178979.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rsa php前台加密后台解密源码,使用RSA实现前端公钥加密后端私钥解密

项目中在用户登录时需要进行用户名和密码加密,这里选用了RSA非对称加密的方式.公钥私钥:OpenSSL的公钥私钥(Node crypto模块限制)前端: jsencrypt库加密后端: Node crypto模块使用openssl生成公钥私钥linux生成公钥私钥命令:genrsa -out rsa_private_key.pem 1024 // 生成1024位…

php 事件调度,MySQL的事件调度器使用介绍

自MySQL5.1.0起&#xff0c;增加了一个非常有特色的功能ndash;事件调度器(Event Scheduler)&#xff0c;可以用做定时执行某些特定任务&#xff0c;可以看作基于自MySQL5.1.0起&#xff0c;增加了一个非常有特色的功能–事件调度器(Event Scheduler)&#xff0c;可以用做定时执…

mysql中括号_干货!Python与MySQL数据库的交互实战

作者 | Huang supreme&#xff0c;责编 | 郭芮头图 | CSDN 下载自视觉中国安装PyMySQL库如果你想要使用python操作MySQL数据库&#xff0c;就必须先要安装pymysql库&#xff0c;这个库的安装很简单&#xff0c;直接使用pip install pymysql&#xff1b;假如这种方式还是安装不上…

Xcode清缓存

前往-->按住option键进入资源库-->Developer-->Xcode-->DerivedData 删除里面的文件就行了转载于:https://www.cnblogs.com/10-19-92/p/5181940.html

苹果天气不显示_热门天气APP被苹果拿下,安卓用户不能再使用

近日&#xff0c;Android平台最受欢迎的订阅式天气APP之一Dark Sky官方宣布其被苹果收购。收购后&#xff0c;Android和Wear OS上的Dark Sky APP都会在2020年7月1日下架&#xff0c;届时将关闭服务并提供退款&#xff0c;iOS版APP则不受影响。Dark Sky天气预报Dark Sky服务早就…

java 安全 认证和授权,Java安全之认证与授权

Java平台提供的认证与授权服务(Java Authentication and Authorization Service (JAAS))&#xff0c;能够控制代码对敏感或关键资源的访问&#xff0c;例如文件系统&#xff0c;网络服务&#xff0c;系统属性访问等&#xff0c;加强代码的安全性。主要包含认证与授权两部分&…

Struts2使用OGNL遍历各种map总结

一.Action中的代码&#xff1a;MapAction.java package com.zx.demo.action; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.opensymphony.xwork2.ActionSupport; import com.zx.demo.model.Prod…

java 数组下标6,这里为什么用equals会错,改==就不会?java入门第一集6.8获取数组下标课后练习...

源自&#xff1a;6-8 使用 foreach 操作数组这里为什么用equals会错&#xff0c;改就不会&#xff1f;java入门第一集6.8获取数组下标课后练习public class practice_1_6_8 {public static void main(String[] args) {int[] cored {11,22,33,44,55,66,77,88,99,00};System.out…

WC总结

去了人生中第一次全国WC&#xff0c;在四川绵阳南山中学举行&#xff0c;去了这么一次&#xff0c;感受颇多&#xff0c;不忍心白白地让时间流逝&#xff0c;于是写篇随笔记录一下。 全程&#xff0c;共计8天。 【第1天】 签到&#xff0c;拿餐票&#xff0c;看了看讲义&#x…

求n的阶乘的算法框图_算法|从阶乘计算看递归算法

欢迎点击「算法与编程之美」↑关注我们&#xff01;本文首发于微信公众号&#xff1a;"算法与编程之美"&#xff0c;欢迎关注&#xff0c;及时了解更多此系列文章。1理解递归“程序设计是实践计算机思维的重要手段”。程序设计的三种特征就是封装、继承和多态。而对于…

matlab画无量纲速度分布,麦克斯韦分布与概率论中典型分布的比较教学

大学物理和高中物理的衔接教学已经受到大学教师足够的重视和研究[1-3]。大学物理的数学基础是大学数学,特别是微积分和概率论。关于大学物理和大学数学课程的有效衔接和融汇教学国内也有初步的研究和实践[4-6]。本文笔者在河海大学多年的《大学物理》教学经历中明显感觉到学生对…

Python成长之路_装饰器

一、初入装饰器 1、首先呢我们有这么一段代码&#xff0c;这段代码假设是N个业务部门的函数 1 def f1(aaa): 2 print(我是F1业务) 3 if aaa f1: 4 return ok 5 6 def f2(aaa): 7 print(我是F2业务) 8 if aaa f2: 9 return ok 业务代码这里的…

python卸载_删除系统 Python 引发的惨案

这个案例告诉我们&#xff0c;千万不要动系统自带的 Python&#xff0c;Win系统除外文 | fanzhenyu 出处 | http://fanzhenyu.cn/由于无知&#xff0c;卸载 Ubuntu 自带的 python3 引发惨案&#xff0c;谨记&#xff0c;深刻反思。惨案由于实验需要使用 Python3.6 以上版本&…

php 删除特殊符号,利用PHP删除特殊符号

在编程的时候&#xff0c;不管你是偏向PHP等较为简单的编程&#xff0c;还是说想Java等更需要逻辑的强类型语言编程&#xff0c;都会或多或少地接触到对特殊符号的处理。特殊符号虽然显得不怎么起眼&#xff0c;但却极有可能会让程序实现不了初衷的目的运行效果。我们最常见到的…

gbdt 回归 特征重要性 排序_gbdt、xgb、lgb、cat面经整理——from牛客

注意&#xff0c;下文的原始的gbdt是以sklearn中的gbdt的实现为例子来阐述的&#xff0c;因为gbdt的改进版本有很多&#xff0c;为了叙述方便&#xff0c;使用这个最为人所知的实现来描述。你有自己用过别的模型然后调参之类的吗&#xff1f;能说一下基本的调参流程吗&#xff…

深入C#类的方法

构造函数 example1&#xff1a; static void Main(string [] args) {SE engineernew SE();engineer.Age25;enginner.Name"艾边成";//省略其他属性赋值操作Console.WriteLine(engineer.SayHi());} 我们知道要使用类的属性和方法&#xff0c;首先要对类进行实例化&…

在linux上处理base64加密和解密

http://snailwarrior.blog.51cto.com/680306/142472/ 2.从标准输入读取文件内容&#xff0c;base64编码并打印到标准输出 [rootlocalhost test]# base64snailwarriorc25haWx3YXJyaW9yCg 我是输入snailwarrior&#xff0c;回车&#xff0c;然后按CtrlD结束文件输入的。 3、对字符…

python3迭代器是什么,python3 迭代器

1. 想要了解 迭代器 &#xff0c;需要先 知道什么是 可迭代对象。简单点说&#xff0c;可以直接作用于for循环的对象&#xff0c;称之为可迭代对象(Iterable)。1.png可迭代对象&#xff0c;一定实现了__iter__方法。isinstance內建函数&#xff0c;可以判断一个对象是否是某个类…

边缘检测robert原理_机器视觉尺寸检测基础

尺寸测量/边缘检测利用边缘检查的尺寸检查是图像传感器的最新应用趋势。图像传感器可以将检查对象在平面上表现出来&#xff0c;通过边缘检测,测算位置、宽度、角度等。下面将按照处理过程来介绍边缘检查的原理。理解原理有助于优化检查设置。除此之外&#xff0c;还将介绍一些…

linux 查杀php木马,linux上php木马、后门查杀总结

Web Server(Nginx为例)1、为防止跨站感染&#xff0c;要做虚拟主机目录隔离(我是直接利用fpm建立多个程序池达到隔离效果)2、上传目录、include类的库文件目录要禁止代码执行(Nginx正则过滤)3、path_info漏洞修正&#xff1a;if ($request_filename ~* (.*)\.php) {set $php_ur…