根据服务器ip地址查看虚拟目录,IIS虚拟目录实现与文件服务器网络驱动器映射共享...

本文详细介绍了如何在IIS服务器上配置跨域资源共享,通过创建共享账户和设置权限,使得Web服务器能够访问另一台服务器的资源。步骤包括创建共享账户、设置共享目录权限、在IIS中引用共享目录以及解决ASP.Net执行权限问题。文章还提到了安全性的提升方法,包括使用aspnet_setreg.exe工具加密身份验证信息,并修改web.config文件以提高安全性。
摘要由CSDN通过智能技术生成

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

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

本文重点描述如何使用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.20ide

详细步骤:

1、共享帐户的创建

1.在 WebServer 上创建一个用户名,方便使用该用户读取 ShareServer 上的共享目录,为了web文件能正常运行,同时又避免使用户拥有太高的权限,咱们能够直接把该用户纳入 Guests(win2003中) 组,或者 IIS_IUSRS(win2008中) 组内,这样就一举多得了。我这里创建的用户名为 IIS_ShareUser ,密码为 123456;

2.在 ShareServer 中也创建一个同名同密码的用户(必须一致,不然在UNC验证的时候会没法登录)。这里用户名也应该为 IIS_ShareUser ,密码为 123456,也纳入Guests组中;工具

2、共享位置的创建

1.ShareServer 中使用文件夹共享工具,共享出一个目录,共享名为 public ,共享权限设置为 Administrators 组 读取+写入,IIS_ShareUser 用户 读取(若是须要存东西,就加上 写入 权限);

这里 Administrators 用户必须拥有 读取+写入 权限,不然在 WebServer 里使用IIS直接设置的时候会提示没法保存设置。

共享位置的文件夹安全设置也必须加入 IIS_ShareUser 的 读取运行 权限,另外还须要加入IIS进程用户的 读取运行 权限,这里再也不描述运行IIS站点所须要的 文件夹安全 权限设置。网站

3、IIS中引用共享目录

1.WebServer 中IIS里创建站点或虚拟目录,路径指向 \\192.168.100.10\public ,链接认证用户手动输入为 IIS_ShareUser ,密码 123456。

当第1步完成的时候,您已经经过web方式访问该站点或虚拟目录中的来自 ShareServer 共享目录的资源,可是 ASP.Net 尚未权限执行。

2.ASP.Net的权限设置

从站点根目录下打开 web.config 文件,在 节点之内,加入如下内容:

其实就是修改了 ASP.Net 执行的认证方式,把认证方式修改成 ASP.Net模拟用户 ,这样就能让 ASP.Net 经过刚才创建的共享帐号执行和访问 ShareServer 中的资源了。加密

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

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

可能对于其余人来讲能够执行成功, 由于在网上也看到不少人发了日志出来. 但对于我来讲, 怎么也成功不了.

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

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 ,把 替换为

保存退出便可,这样就完成了整个过程,安全性也获得了提高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值