IIS与asp.net身份认证

在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程序中处理身份验证和授权的相关问题

注意二:摘要式身份验证 只有加入了域才能启用

  

原文地址:https://www.cnblogs.com/langu/p/2738727.html