开发者

ASP.NET impersonations?

I have a aspx file that suppose to write to a file in the server while loading. On the local machine it works fine, but when i deploy it to a live server it gives me an exception "Access to the path 'd:\DZHosts\LocalUser\asafz83\www.asafz83.somee.com\lala.htm' is denied."

WHen i asked my serverAdmin for the reason - he told me to remove any impersonation from my web.config file. Well, my web.config file doesn't contain any impersonation, so i'm really confused: W开发者_运维技巧hat can i do in order for this sealy-stupid application to work?

thanks!


Assuming the id being impersonated has appropriate access to the server & folder that you are writing to, you have to allow your web server to be trusted for delegation.

See this for Windows 2003 server: http://technet.microsoft.com/en-us/library/cc738491(WS.10).aspx

I've had the same problem a couple weeks ago..it took us a few days to figure out that it's just a checkbox that needed to be set.


You don't have to go through impersonation. Create a folder in your website, let's call it "Files". You can access its path via Server.MapPath to do whatever saves you want in that directory.

Server.MapPath("~/Files")

When you deploy on IIS, you have to apply Write permissions on the folder "Files" for the ASP.NET user.


Essentially your server admin is saying that you may not have the permissions needed to perform the operation / access th path in the error.

Is this a valid path that you think you should have access to, if it is then there is a chance your application is configured wrong.

Your admin guy is basically saying ... In the web.config file check that you have not got something that reads like this :

if you do, remove it because you re trying to impersonate / get asp.net to run within the context of the guest account for internet users connecting to the server.

There is more on the topic here ...

http://msdn.microsoft.com/en-us/library/xh507fc5(VS.71).aspx

Something worth noting is that application configs "inherit settings from parent applications", this means if you have a web app running that works with this, and then in a child folder deploy a new web app that does not have the right to do this then it will break because of the parent applications settings.

This may or may not be relevant to your situation but i feel its worth noting.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜