filesystemobject|iis|解决|问题
利用WinXP的IIS时,发现利用FileSystemObject总是不能写入一个已有的文件,而且也不能删除某个文件,提示——没有权限。
尝试了各种设置,但总不切根本,花掉两天时间,利用Google总算找到了解决方案,也算获得了两点关于WinXP的知识点:
1、WinXP中所有的目录都是只读属性的,取消后只是取消目录下文件的只读属性,而目录的只读不在具备其只读含义。
如何去掉winxp(sp2)文件的只读属性?
在Windows XP中,所有的文件夹都具有“只读”属性,取消只读属性后再次察看会发现依然是只读的,但是这不影响文件的使用。因为在Windows XP中,文件夹属性中的“只读”不再代表原来的字面含义:对于文件系统来说,文件夹的只读属性没有实际的意义。即使一个文件夹是只读的,你仍然可以在这个文件夹里创建.修改或删除文件Windows XP中文件夹“Read-Only”属性表示该文件夹是“定制”的。去掉“只读”属性会丢失该文件夹所有的“定制”信息,如图标.背景等。所以,Windows XP中不再提供用户界面来设置文件夹本身的只读属性。文件夹属性中“只读”的状态永远是第三态。当你在文件夹属性中选中或清除“只读”时,你设置的是这个目录下的文件的只读属性。
如果操作有问题,检查一下你所用的帐户权限和对需要安装的目录的NTFS权限
2、去掉“我的电脑-〉工具-〉文件夹选项-〉查看-〉使用简单文件共享”项前的对勾,现在选择WinXP目录的快捷菜单中的“共享和安全”,就可以在其对话框中发现安全选项卡了,然后添加IUSR_机器名 对该目录的可访问权限即可。
关于Global.asa中使用Object标记的对象同样出现权限问题,只需把IWAM_机器名(即启动IIS进程帐号)也添加进安全列表中并设置就行了。
所以,我们应该知道GLOBAL.asa的执行实现中,首先载入了OBJECT标记,然后才会执行具体事件。而且载入OBJECT与执行具体事件脚本所用的帐号不一样。切记。
不是在Global.asa前创建OBJECT所指对象,什么时候用到了才会创建。详见iisHelp\iis\htm\asp\glob822b.htm