1、文件夹权限问题
前天给一个客户部署了一个关于公文的web项目,部署完之后老觉得系统盘是Fat格式不太好,手比较痒就给转换成ntfs了。结果文件夹的权限都给丢了,导致了web无法访问,但是关于iis的用户和用户组的确是不太熟,可是总不能把所有的权限和用户都给加上吧。so,偶就热线求助了一下场外人员,和家里的比对了一下。
现坐一下总结,学习一下iis的用户
没有安装 FrontPage Server Extensions 的 Windows Server 2003上,按默认值安装 IIS 6 时 wwwroot 文件夹的权限设置:
Administrators - 完全控制
System - 完全控制
IIS_WPG – 列出文件夹内容、读取和执行、读取
Users – 列出文件夹内容、读取和执行、读取
Internet Guest 帐户– 拒绝写入
在对应目录分配权限时,一般采取在目录上点击右键, 然后在"属性"中选择"安全", 然后添加用户到当前用户列表中。也可将用户加入一些用户组中,比如administrator,但安全性不高,不推荐。下面是转的一个权限表。
ASP.NET 进程帐户所需的 NTFS 权限(转载)
目录 | 所需权限 |
Temporary ASP.NET Files%windir%\Microsoft.NET\Framework\{版本}Temporary ASP.NET Files | 进程帐户和模拟标识: 完全控制 |
临时目录 (%temp%) | 进程帐户 完全控制 |
.NET Framework 目录%windir%\Microsoft.NET\Framework\{版本} | 进程帐户和模拟标识: 读取和执行 列出文件夹内容 读取 |
.NET Framework 配置目录%windir%\Microsoft.NET\Framework\{版本}\CONFIG | 进程帐户和模拟标识: 读取和执行 列出文件夹内容 读取 |
网站根目录 C:\inetpub\wwwroot 或默认网站指向的路径 | 进程帐户: 读取 |
系统根目录 %windir%\system32 | 进程帐户: 读取 |
全局程序集高速缓存 %windir%\assembly | 进程帐户和模拟标识: 读取 |
内容目录 C:\inetpub\wwwroot\YourWebApp (一般来说不用默认目录,管理员可根据实际情况调整比如D:\wwwroot) | 进程帐户: 读取和执行 列出文件夹内容 读取 注意 对于 .NET Framework 1.0,直到文件系统根目录的所有父目录也都需要上述权限。父目录包括: C:\ C:\inetpub\ C:\inetpub\wwwroot\ |
2、FreeTextBox不能提交问题。
这个问题一般不会遇到,但是恰巧那个服务器预装了版本比较老的2003server,恰巧一老版本的.NET Framework,就导致了这一问题的发生。症状主要是提交按钮点击无反应,明显是提交事件被截获了。本以为是ftb的代码问题,看了相关代码如下:

2

3

4

5

6



7



8

9

10

11

在第一行可以看到主要是在onsubmit上出了问题,函数ValidatorOnSubmit返回false,使得无法提交。其中又牵扯到了ValidatorCommonOnSubmit,包含在WebUIValidation.js中。按目录找到这个js文件,发现如下代码:








由于版本比较老,如果页面中有验证的页面是无法提交的,这就可以用下面两种法解决,最简单的就是在页面中去掉validator,可以在web.config中system.web节中配置<pages validateRequest = "false"/>,或者直接在页面中配置。另一种方法就是替换以前的这个js文件,新的js文件中的function如下:








最好是替换掉1_1_4322文件夹下WebUIValidation.js和SmartNav.js两个文件。