在IIS中 设置应用程序的身份认证 相关选项有:
第一类,Forms身份验证和windows live id 验证(微软的单点登录服务)
第二类,基本身份认证,域服务器的摘要式身份认证,windows身份认证
关于模拟身份的相关选项有:
IIS的身份认证中的 “asp.net模拟” 和 “应用程序池的标识”
另外模拟身份必须启用“匿名身份验证”
另外总结3点还有2个注意:
总结一:如果要让.net程序有System用户的权限,有四种设置方法。只有应用程序池才可以设置内置账户,这里有四种内置账户:Local Service ,LocalSystem,NetWork Service,ApplicationPoolIdentity。那么四种方法的前提肯定是将应用程序池设置为LocalSystem,结合IIS身份认证的若干选择有四种组合是成功的,可以用System.Security.IPrincple.WindowsIdentity.GetCurrent().Name==NT Authority\System来验证。
分别是:
(1)启用匿名身份验证,并将其设置为 使用应用程序池标识,然后启用asp.net身份模拟,并使用已通过验证的用户
(2)启用windows身份验证,其他身份认证禁用
(3)启用基本身份验证,其他身份验证禁用
(4)启用匿名用户,其他身份验证禁用。(IIS7默认不改动身份验证设置即是这种情况)
总结二:使用windows账户作为客户端的身份验证就三种情况,就是上面说的第二类身份验证
特点:
Windows 身份验证 安全级别高 使用Keberos令牌形式
摘要式身份验证 安全级别中 密码使用散列传输
基本身份验证 安全级别低 密码使用明文传输
总结三:启用windows身份验证并关闭内核模式验证,需要在客户端输入windows账户,这是连接到网内的一个机器,区别于连接到IIS服务器。还有一种方式是连接到IIS服务器,暂时忘了。
注意一:asp.net模拟 通常是为了避免在asp.net程序中处理身份验证和授权的相关问题
注意二:摘要式身份验证 只有加入了域才能启用