三.IIS属性解析
KeyType[0] =IisWebVirtualDir
// Schema类名表明操作的目录类型
//
【虚拟目录】
Path[0] =D:/WebSiteTest
//
虚拟目录|本地路径
//
.NET对应属性如下,其中de为虚拟目录对应的DirectoryEntry对象
de.Properties["Path"][0]
= 路径字符串
AccessFlags[0]
=513 //
虚拟目录|读取-写入
// 1.
虚拟目录|应用程序设置|执行权限为“无”时
//
(1)脚本资源访问
//
不可读取且不可写入为16;可读取不可写入为17;
//
可写入不可读取为18;可读取且可写入为19
//
(2)无脚本资源访问
//
不可读取且不可写入为0;可读取不可写入为1;
//
可写入不可读取为2;可读取且可写入为3
// 2.
虚拟目录|应用程序设置|执行权限为“纯脚本”时
//
(1)脚本资源访问
//
不可读取且不可写入为528;可读取不可写入为529;
//
可写入不可读取为530;可读取且可写入为531
//
(2)无脚本资源访问
//
不可读取且不可写入为512;可读取不可写入为513;
//
可写入不可读取为514;可读取且可写入为515
// 3.
虚拟目录|应用程序设置|执行权限为“脚本和可执行文件”时
//
(1)脚本资源访问
//
不可读取且不可写入为532;可读取不可写入为533;
//
可写入不可读取为534;可读取且可写入为535
//
(2)无脚本资源访问
//
不可读取且不可写入为516;可读取不可写入为517;
//
可写入不可读取为518;可读取且可写入为519
//
.NET对应属性如下,其中de为虚拟目录对应的DirectoryEntry对象
de.Properties["AccessRead"][0]
= bool值; //
读取
de.Properties["AccessWrite"][0]
= bool值;
// 写入
de.Properties["AccessScript"][0]
= bool值; //
脚本资源访问
de.Properties["AccessExecute"][0]
= bool值;
// 允许执行的权限,默认为纯脚本
de.Properties["AccessFlags"][0]
= 如上枚举数值; //
访问标识
// AccessFlags属性值就是由AccessRead(1),AccessScript(512),AccessExecute(4)
等等的值// 相加而得来的。例如执行权限为“纯脚本”时,无脚本资源访问,可读取不可写入为513 =
// AccessScript(512) + //AccessRead(1)。
//
执行权限为“脚本和可执行文件”时, AccessScript(517)
DirBrowseFlags[0] =-1073741762
//虚拟目录|目录浏览
//
当【文档】启用默认文档时为-1073741762,否则1073741886
//
当【文档】未启用默认文档时为-2147483586,否则为62
//
.NET对应属性如下,其中de为虚拟目录对应的DirectoryEntry对象
de.Properties["EnableDirBrowsing"][0]
= bool值; //
目录浏览
DontLog[0] = False//虚拟目录|记录访问,否则True
//
.NET对应属性如下,其中de为虚拟目录对应的DirectoryEntry对象
de.Properties["DontLog"][0]
= bool值; //
记录访问
ContentIndexed[0] =True//虚拟目录|索引资源,否则False
//
.NET对应属性如下,其中de为虚拟目录对应的DirectoryEntry对象
de.Properties["ContentIndexed"][0]
= bool值;
// 记录访问
AppFriendlyName[0]
=Test //虚拟目录|应用程序设置|应用程序名
//
.NET对应属性如下,其中de为虚拟目录对应的DirectoryEntry对象
de.Properties["AppFriendlyName"][0]
= 字符串;
// 应用程序名
AppRoot[0] =/LM/W3SVC/1/Root/test//虚拟目录|应用程序设置|开始位置:默认网站/test
AppIsolated[0] =2
//虚拟目录|应用程序设置|应用程序保护,低(IIS进程)为0,中(公用)//
为2,高(独立)为1,默认为2:中(公用)
//
.NET对应属性如下,其中de为虚拟目录对应的DirectoryEntry对象
de.Properties["AppIsolated"][0] =
如上枚举数值;
//【自定义错误】
HttpErrors[0] =400,*,FILE,C:/WINDOWS/help/iisHelp/common/400.htm
……
HttpErrors[31] =500,100,URL,/iisHelp/common/500-100.asp
//
文档|启用默认文档,可手动添加首页。如果没有开启虚拟目录|目录浏览,又没有指定首//
页则访问站点出/现HTTP403错误;只能在url中详细指定站点内具体网页文件名称。
DefaultDoc[0] = Default.htm,Default.asp,index.htm,iisstart.asp
//
.NET对应属性如下,其中de为虚拟目录对应的DirectoryEntry对象
de.Properties["EnableDefaultDoc"][0]
= bool值;
//启用默认文档
//
【目录安全性】
//目录安全性|匿名访问和身份控制|编辑|身份验证方法|匿名访问
AnonymousPasswordSync[0] =True
//目录安全性|匿名访问和身份控制|编辑|身份验证方法|匿名访问使用的账户密码
AnonymousUserName[0]
=IUSR_57E2088F08C14CC
AnonymousUserPass[0] =oEG'9bDK|S34/d
//
.NET对应属性如下,其中de为虚拟目录对应的DirectoryEntry对象
de.Properties["AuthAnonymous"][0]
= bool值;
// 允许匿名访问
de.Properties["AnonymousUserName"][0]
= 账户字符串;
// 客户端访问Web服务器的匿名账户
de.Properties["AnonymousUserPass"][0]
= 密码字符串;
// 客户端访问Web服务器的匿名账户密码
//
“另一台计算机上的共享”(UNC)|网络目录|连接用户|网络目录安全凭据
UNCUserName[0] =Administrator
UNCPassword[0]
=123456
//
.NET对应属性如下,其中de为虚拟目录对应的DirectoryEntry对象
de.Properties["UNCUserName"][0]
= 账户字符串;
// Web服务器桥接文件服务器的UNC账户
de.Properties["UNCPassword"][0]
= 密码字符串;
// Web服务器桥接文件服务器的UNC账户密码
//【ASP.NET】
ScriptMaps[0] =.asp,C:/WINDOWS/system32/inetsrv/asp.dll,5,GET,HEAD,POST,TRACE
……
ScriptMaps[50] =.refresh,C:/windows/Microsoft.NET/Framework/v2.0.50727/aspnet_is
api.dll,5,GET,HEAD,POST,DEBUG
//
【HTTP头】
//
自定义HTTP头
HttpCustomHeaders[0] =X-Powered-By: ASP.NET
下图为IIS Metabase Explorer显示的IIS元数据(Metabase)的层次结构。
上一篇《DirectoryEntry.Properties遍历IIS属性(1)》
参考:
《IIS权限设置》
《IIS Metabase Properties》
http://msdn.microsoft.com/en-us/library/ms525644.aspx
《DirectoryEntry.Properties属性的遍历》
http://blog.csdn.net/wenzhoufeng/archive/2007/05/15/1610017.aspx
《IIS
配置数据库中AccessFlags属性的处理与应用》
http://blog.csdn.net/hbu_dcf/archive/2009/03/04/3955800.aspx
《IIS 6新特性》
http://www.itlearner.com/article/2007/3706_2.shtm
《IIS 5.1/IIS6/IIS7的ASP.NET请求处理过程比较》