C# 面临IIS和Windows身份验证中托管的ASP.NET的问题
我有一个asp.net网站,它托管在IIS 7.5中 该网站必须使用windows身份验证。用户将被添加到广告组。广告用户组对发布网站的web文件夹具有完全控制权。服务器/IIS\u IUSRS对web文件夹也具有完全控制权 网站需要使用的数据存储在另一台服务器中。AD组对存储数据的文件夹具有完全控制权。 我使用的是经典模式,因为集成破坏了它C# 面临IIS和Windows身份验证中托管的ASP.NET的问题,c#,asp.net,iis,C#,Asp.net,Iis,我有一个asp.net网站,它托管在IIS 7.5中 该网站必须使用windows身份验证。用户将被添加到广告组。广告用户组对发布网站的web文件夹具有完全控制权。服务器/IIS\u IUSRS对web文件夹也具有完全控制权 网站需要使用的数据存储在另一台服务器中。AD组对存储数据的文件夹具有完全控制权。 我使用的是经典模式,因为集成破坏了它 网站身份验证和应用程序池设置应该是什么 我个人喜欢将应用程序池标识设置为广告服务帐户,然后允许应用程序使用这些凭据访问数据库和其他资源。无需在连接字符串上
网站身份验证和应用程序池设置应该是什么 我个人喜欢将应用程序池标识设置为广告服务帐户,然后允许应用程序使用这些凭据访问数据库和其他资源。无需在连接字符串上传递凭据或尝试模拟用户(编辑:应注意,这适用于使用windows集成安全性的资源)。此外,无需尝试为用户提供对数据存储或其他资源的直接访问权限,只需应用程序凭据具有访问权限即可。最初设置起来有点麻烦,但从长远来看更容易管理 每当我要求我们的服务器组为我设置一个新站点时,我都会向他们发送以下清单:(注意,这是基于Win Serv2003和IIS 6的,在较新的版本中可能会有所不同。)
- 为应用程序设置单独的应用程序池 应用
- 将应用程序池配置为作为 服务帐户
- 将服务帐户添加到 服务器上的IIS_WPG组
- 确保IIS_WPG组已读取, 读取并执行,并列出文件夹 网站的内容权限 目录和读取列表文件夹 C:\Windows\Temp目录的内容 文件夹(或同等文件)
- 授予用户“调整内存”的权限 进程的配额“,”替换 “进程级令牌”和“以身份登录” “服务”到服务帐户
- IP/DNS地址限制
- Web权限(读、写、脚本源访问…)
- NTFS权限(仅限非ASP.NET ISAPI扩展名:.htm、.jpg…)
- URL授权(
访问数据文件夹时,用户在代码中的本地权限
System.Security.Principal.WindowsImpersonationContext 模拟语境; 模拟上下文=
((System.Security.Principal.WindowsIdentity)User.Identity.Impersonate() //插入在下运行的代码 身份验证的安全上下文 用户在这里 impersonationContext.Undo() - 全局激活(
);不喜欢这个