impersonating在asp.net中的变换

我们都知道在asp.net里可以impersonating,最常用就是在IIS里设置对anonymous访问的impersonating.在这里我只是想说,在设置了anonymous访问的impersonating后,在你的程序里并不是所有的地方都是用这个帐户去进行权限访问的。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

举个例子,我需要在程序的根目录下创建并写一个日志文件(比如c:\MyDotNet\MyApp1\myapp1.log),而anonymous impersonating我设置为localhost\testaccount。于是global.aspx.cs

None.gifprotected void Application_Start(Object sender, EventArgs e)
ExpandedBlockStart.gifContractedBlock.gif
dot.gif{
InBlock.gif             
// open the log file
InBlock.gif
             String path = Server.MapPath(""+ "\\myapp1.log";            
InBlock.gif             TextWriter file 
= new StreamWriter(path, true);
ExpandedBlockEnd.gif}

None.gif

你认为asp.net会用哪一个帐户去创建myapp1.log文件呢?是localhost\testaccount吗?不是的,系统用的是你的application隶属的那个application pool的帐户,默认的default applicatoin pool的帐户是network service.

所以,如果要让上面的程序段运行,你要让network service帐户对c:\MyDotNet\MyApp1\有写权限。

对所有在Page中运行的代码,系统将使用localhost\testaccount帐户。(global.aspx.cs不属于Page)

转载于:https://www.cnblogs.com/cloudjun/archive/2005/09/14/236643.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值