ASP.NET默认情况下并不是用网站的匿名帐户来运行的,而是用一个固定的帐户来运行的,比如Windows2000中是ASPNET,显然虚拟主机中大家都用同一个帐户来运行就会造成具有相同的NTFS权限,这是很明显的安全隐患。在Windows2000中可以通过模拟来实现不同的虚拟主机使用不同的帐户运行ASP.NET,具体有些复杂,请参见正确配置虚拟主机中ASP.NET权限。而Windows2003(IIS6)配置又有不同,Windows2008(IIS7)中配置又不同。不过Windows2008中是最方便的。
我们还是从模拟开始,模拟就是在ASP.NET配置文件中配置,这样运行ASP.NET时就不全是固定的帐户了(Windows2000中为ASPNET、Windows2003、2008中为NetworkService),而是运行网站的匿名帐户。为了叙述方便,我们称为半模拟(官方无此名称,仅仅是为了本文叙述方便)。
模拟也可以指定特定的帐户,同样为了叙述方便,我们把这种称为全模拟(官方无此名称,仅仅是为了本文叙述方便)。
PrincipalSystem.Security.Principal.WindowsIdentity.GetCurrent().Name的值
MembershipASP.NET中的Membership用Windows身份验证连接SQLServer时的帐户。
另外启用全模拟时:在Windows2003中,将demo加入了IIS_WPG组;在Windows2008中,将demo加入了IIS_IUSRS组。不然会无法访问C:WINDOWSMicrosoft.NETFramework这个文件夹(实际上2008中加不加都可以,因为没加的话,运行时会自动动态加入)。
1本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!
Photoshop6.0【AdobePhotoshop6.0】(PS6)简体中文绿色破解版