在web.config中配置模拟:<identity impersonate="true" userName="testuser" password="1" />asp.net web应用程序默认不启用模拟,以aspnet用户运行,而当启用模拟后,在上面这个配置中是以testuser这个帐户运行程序,这我都明白。可是到底模拟有什么用呢?一般何时应用以及应用在哪里呢?期盼高手回复
解决方案 »
- 希望用 Ultrawebgrid 显示数据库image字段,给一个例子吧
- 请问用后台怎样输出javascipt && 符号?
- Asp.net(C#) 框架问题
- 如何实现用箭头图像 浏览图片
- 求助:搜索结果中关键字突出变红色(在论坛上看了类似的提问,但还是做不出,惭愧!)。
- 为什么GridView每一行的控件ID可能存在相同的情况?
- 如何建立socket连接?
- 写入日志出错!!!!!
- 从书上找得例子,运行正常,改成 Connectin控件后 结果变了 ~~~~
- 如何在asp.net里读取另外一个网站的网页?
- 框架页如何记住子页面的状态?
- 请问如何实现: 只能输入键盘上所年到的字符和汉字? (正则表达式).
Web.Config中有一个<identity>元素,可以用于设置本应用程序的身份,即所谓“扮演(Impersonation)”,即应用程序扮演成IIS服务请求者或者某个固定用户的身份,访问本地或者外部资源时,资源以为是被扮演的用户在访问一样。扮演有两种可能:(1) 扮演IIS服务请求者,即浏览器客户端的身份在web.config中设置: <identity impersonate="true" />ASP.NET进程将扮演http/https请求者的身份。具体是什么帐号,就跟IIS的安全性设定有关了:如果IIS允许匿名访问,那么缺省状态下,被扮演的将是Iuser_Machine帐号,即在IIS安全设置中用Enable anonymous access指定的帐号。如果修改过,那被扮演的就是修改过的帐号。如果IIS不允许匿名访问,那么浏览器请求者的身份肯定是一个Windows帐号,这个帐号就是被扮演的对象。(2)扮演一个固定用户设置扮演固定用户身份,需要为<identity>元素指定userName 和password两个 attributes:<identity impersonate="true" userName="MyServiceAccount"
password="Str0ng!Passw0rd"/>显然,将password这样明码写在web.config中是不合适的。推荐的办法是使用Aspnet_setreg.exe工具,将这种信息加密后保存到注册表中。 无论扮演哪个帐号,微软都不推荐使用扮演,一方面是安全性问题(被扮演的帐号可能有一些程序并不需要的多余权限,可能被利用),另一方面是可伸缩性问题(Scalability),因为在访问SQL Server等资源时,无法利用连接池等手段