文件大小:
软件介绍
ASP.NET 默认情况下并不是用网站的匿名帐户来运行的,而是用一个固定的帐户来运行的,比如 Windows 2000 中是 ASPNET,显然虚拟主机中大家都用同一个帐户来运行就会造成具有相同的 NTFS 权限,这是很明显的安全隐患。在 Windows 2000 中可以通过模拟来实现不同的虚拟主机使用不同的帐户运行 ASP.NET,具体有些复杂,请参见 正确配置虚拟主机中 ASP.NET 权限。而 Windows 2003(IIS 6)配置又有不同,Windows 2008(IIS 7)中配置又不同。不过 Windows 2008 中是最方便的。
我们还是从模拟开始,模拟就是在 ASP.NET 配置文件中配置 <identity impersonate="true" />,这样运行 ASP.NET 时就不全是固定的帐户了(Windows 2000 中为 ASPNET、Windows 2003、2008 中为 Network Service),而是运行网站的匿名帐户。为了叙述方便,我们称为半模拟(官方无此名称,仅仅是为了本文叙述方便)。
模拟也可以指定特定的帐户 <identity impersonate="true" userName="" password="" />,同样为了叙述方便,我们把这种称为全模拟(官方无此名称,仅仅是为了本文叙述方便)。
我们经过测试,得出几个表,现列出来,为了便于表格不撑大,用了缩写,现将缩写说明如下:
AppPool 应用程序池帐户
NS 对站点 Network Service 是否需要对站点根目录有 NTFS 权限。
Principal System.Security.Principal.WindowsIdentity.GetCurrent().Name 的值
NS Network Service
demo 运行网站的匿名帐户
NS 文件 Network Service 具有读取权限的文件
demo 文件 deom 具有读取权限的文件
NSdemo 文件 Network Service、demo 均具有读取权限的文件
SSPI 普通应用程序用 Windows 身份验证连接 SQL Server 时的帐户。
Membership ASP.NET 中的 Membership 用 Windows 身份验证连接 SQL Server 时的帐户。
另外启用全模拟时:在 Windows 2003 中,将 demo 加入了 IIS_WPG 组;在 Windows 2008 中,将 demo 加入了 IIS_IUSRS 组。不然会无法访问 C:\WINDOWS\Microsoft.NET\Framework 这个文件夹(实际上 2008 中加不加都可以,因为没加的话,运行时会自动动态加入)。
版权声明:
1 本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!
2 本站将不对任何资源负法律责任,所有资源请在下载后24小时内删除。
3 若有关在线投稿、无法下载等问题,请与本站客服人员联系。
4 如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除,联系QQ:2499894784
点击加载更多评论>>