一。ASP.NET工作进程默认在windows ASPNET账户下运行
通过在配置文件中修改配置节 processModel配置节就可以修改ASP.NET工作进程的运行账户
注意1:该配置节只能在machine.config配置文件中修改,因此修改该配置节后讲影响服务器下所有asp.net应用程序
注意2:ASP.NET不会自定识别machine.config的修改,需要重启IIS服务
----------------------------------------------------------------------------------
二。processModel的两种预配置设置
Machine & System
eg:
<configuration>
<processModel userName="System" password="AutoGenerate" />
</configuration>
当userName = Machine 运行在aspnet账户下
当userName = System 运行在于IIS相同的windows账户下
-----------------------------------------------------------------------------------
三。processModel的自定义配置
userName 可以用指定的windows账户
注意:password使用文本明码的安全问题
解决:使用添加到注册表
eg:
<configuration>
<processModel userName="registry:HKLM/Software/Oreilly/AspNet,Name" password="registry:HKLM/Software/Oreilly/AspNet,Password" />
</configuration>
registry:注册表关键字
HKLM:本地计算机集群的一部分
Name,Passowrd:命名的注册值
工具:Aspnet_setreg.exe
作用:加密用户名和密码
MSDN:文章编号 329290
-----------------------------------------------------------------------------------
四。配置IIS身份验证模式
1.匿名访问
启用默认的windows账户,如果未启用模拟,ASP.NET工作进程就在匿名账户下运行
2.基本身份验证
以明文形式发送密码
注意:请使用(SSL)或(TLS)来提供服务器和客户的安全链接
SSL:安全套接字层
TLS:传输层安全
3.摘要式身份验证
类似基本身份验证
不同:通过网络而不是文本传输用户密码的散列码
4.集成的身份验证
基于客户操作系统信息
5.客户证书身份验证
要求访问客户具有X509数字证书(参考:IIS帮助)
-------------------------------------------------------------------------------------
五。ASPNET支持的四种身份验证模式
None(不验证)
Windows(基于windows账户)
Form(表单验证,前提IIS启用匿名访问,就是常规的用户登录模式。注意:请使用SSL,TLS加密基础网络通信)
Passport(基于cookie,不是免费,需要购买)