IIS6.0无法修改访问权限设置后续
上一篇日志提到我需要实现把网上邻居中的目录作为IIS的虚拟目录,但一直没设置成功(asp文件可以访问,但aspx无法访问)。今天研究下解决方法。
其实问题不是出在虚拟机上,而是出在网上邻居上:
你的网上邻居(主机)即便开放了所有权限,但你仍没法更改他的权限设置(在属性栏里都没有“共享”或“安全”的选项卡)
而你的IIS把网上邻居上的文件夹作为站点或虚拟目录,显然在IIS里也不允许你更改此网站或目录的权限设置,所以右键的那个“权限”都打不开,而只要你换一个本机的目录,就马上可以打开了
所以导致了没有开放everyone权限,也就使得出现那个错误。不过ASP是可以访问的,aspx看来安全性太高了使得不能这么做。
既然IIS中使用网上邻居的目录结构(UNC路径)会让IIS打不开更改权限的窗口,且确定windows就不允许更改其他网上邻居的权限,那只能想办法骗骗IIS,让IIS把everyone加入它的可访问权限组,这样才能让aspx正常工作。于是我考虑用映射的方法。
在windows 2003下点网上邻居右键把xp下的网站所在路径映射为Z盘,然后更改IIS的文件目录为映射后的z盘目录Z:\fan,迫不及待的点右键-权限,却出现了下面的情况:
关键字google了下,发现没有任何资料,于是我把站点移到另外一个ntfs文件系统的盘中,重复上面的步骤,却仍然是这个提示,后来查看了下那个网络驱动器的属性,原来它是vmware自己的hgfs格式,那估计是微软无法识别这种格式,所以一律判为是fat格式。
开始时我并不知道IIS不能修改fat格式的权限,而以为是ntfs下的iis无法修改fat32的格式,所以又虚拟了一个fat32的windows2003,结果连虚拟机里自己的目录都无法打开权限设置页,也是如上的错误提示。看来通过映射的这个方法也行不通,不过差一点就骗过IIS。
我还考虑到这样的网站程序等于是放在不同的机器上,会不会是machine.config的原因,不过就是在网站根目录下新建一个错误的machine.config(这样这个machine.config就会覆盖掉默认的machine.config)也是那个错误提示,看来也不是machine.config的原因。
最终我放弃了把网上邻居的目录作为IIS网站目录的想法,想想vs2005已经有自己的预览网站功能,等确实需要IIS实测时再把网站目录同步到虚拟机中的2003下,然后在虚拟机中浏览就行了。方案为:
1、vmware中设置主机网站目录共享
2、在虚拟机中安装Goodsync,设置Goodsync为开机自动启动,并且一启动就检测并同步文件夹
3、平常在vs2005中调试,需要IIS调试时打开虚拟机,不需任何其他设置即可测试网站。
参考资料:
IIS虚拟目录可不可以指向网上邻居文件
你弄清楚了IIS的认证处理方法就可以做到了。
1、在IIS所在服务器上新建一个帐号,然后将IIS 站点的匿名访问身份用户选成这个。
2、在网络邻居上的服务器上也建一个同样的帐号,同样的密码。就OK了。
“/”应用程序中的服务器错误
进入文件夹选项 然后点查看
把那个 “使用简单文件共享” 的那项的钩钩去掉(默认是打钩的)
这时候你在右键你的文件夹
属性(会多出一个叫“安全”的选项)
你把在安全区中添加上 everyone这个属性 就可以了
至于everyone的权限 默认的就可以了
附:今天无意看到了MonoRail,一个.net下的仿rails框架,有机会得试试。
