Networking - Accessing Mapped Drives When Impersonating?

Apr 19, 2010

Short Version: Can anyone say whether it's possible or not to use impersonation in ASP.NET to access mapped drives?

Long Version:
I'm currently using impersonation in ASP.NET to gain access to network files. This is working perfectly for any network file using a UNC path, but it is failing to access any files on mapped drives defined for the user account I'm impersonating.

For example, let's say a file lives on the network at "machinefolderfile.txt", and let's also say that drive S: is mapped to "machinefolder". We need to be able to access both the full UNC path, "machinefolderfile.txt", as well as the shorter, mapped drive path, "S:file.txt".

Obviously the standard ASP.NET process cannot access either.

Using a console application that runs under the local account with the mapped S: drive, calling File.Exists(@"machinefolderfile.txt") returns true, and File.Exists(@"S:file.txt") also returns true.

However, when impersonating in an ASP.NET context with the same local account, only File.Exists(@"machinefolderfile.txt") returns true. File.Exists(@"S:file.txt") returns false.

I'm testing with IIS 7 running on my local Windows 7 Professional box, though this will need to run in both IIS 6 and IIS 7.

Impersonation is handled with a couple of classes in C# which I'll include here:

public static class Impersonation
{
private static WindowsImpersonationContext context;
public static void ImpersonateUser(string username, string password)
{
ImpersonateUser(".", username, password);
}
public static void ImpersonateUser(string domain, string username, string password)
{
StopImpersonating();
IntPtr userToken;
var returnValue = ImpersonationImports.LogonUser(username, domain, password,
ImpersonationImports.LOGON32_LOGON_INTERACTIVE,
ImpersonationImports.LOGON32_PROVIDER_DEFAULT,
out userToken);
context = WindowsIdentity.Impersonate(userToken);
}
public static void StopImpersonating()
{
if (context != null)
{
context.Undo();
context = null;
}
}
}
public static class ImpersonationImports
{
public const int LOGON32_LOGON_INTERACTIVE = 2;
public const int LOGON32_LOGON_NETWORK = 3;
public const int LOGON32_LOGON_BATCH = 4;
public const int LOGON32_LOGON_SERVICE = 5;
public const int LOGON32_LOGON_UNLOCK = 7;
public const int LOGON32_LOGON_NETWORK_CLEARTEXT = 8;
public const int LOGON32_LOGON_NEW_CREDENTIALS = 9;
public const int LOGON32_PROVIDER_DEFAULT = 0;
[DllImport("advapi32.dll", SetLastError = true)]
public static extern int LogonUser(
string lpszUsername,
string lpszDomain,
string lpszPassword,
int dwLogonType,
int dwLogonProvider,
out IntPtr phToken
);
[DllImport("advapi32.dll", SetLastError = true)]
public static extern int ImpersonateLoggedOnUser(
IntPtr hToken
);
[DllImport("advapi32.dll", SetLastError = true)]
public static extern int RevertToSelf();
[DllImport("kernel32.dll", SetLastError = true)]
public static extern int CloseHandle(IntPtr hObject);
}

Then, during Page_Load, we basically do something like this:

Impersonation.ImpersonateUser("DOMAIN", "username", "password");

if (!File.Exists(@"S:file.txt"))
throw new WeCannotContinueException();

I realize using mapped drives isn't a best practice, but for legacy reasons it's desirable for our business. Can anyone say whether it's possible or not to use impersonation in ASP.NET to access mapped drives?

View 2 Replies


Similar Messages:

Could Not Upload Files To Mapped Network Drives

Jan 7, 2010

I have created an application to upload files to a mapped network drive(say: Z:), but is showing the error:

System.IO.DirectoryNotFoundException: Could not find a part of the path 'Z'.

What i did:

Created a web page with FileUpload control & a button.In button click event i have used the code as below.

[Code]....

View 9 Replies

Web Forms :: Accessing Files On A Mapped Server?

Oct 12, 2010

I have file locations stored in my DB. The locations are mapped drives on a different server. How can I access them? Do I need to set something up in IIS?

Here are som example locations:

\FILESERVERP4W$Documents - FCClient�0510911000LE~1.DOC
V:471471231File Note 28.11.08.1.doc

View 11 Replies

Web Forms :: Showing All Drives Of Dev Server?

Aug 5, 2010

I have implemented this in my website as per my requirement. [URL] It is working fine in local. But i moved that code to dev server today... it is showing all the drives of dev server. (But my fuctionality is it should show all the drives of local computer who is accessing this ste).

View 1 Replies

C# - WCF Service Not Impersonating Specified User In Config?

Mar 2, 2011

I have a basic WCF service using basicHttpBinding. I have my site project and my services project. In my site project, I have a regular Services Reference to a service in my services project. In my development environment, it works fine. However, in our staging environment, we have enabled impersonation on the services application. This service connects to a SQL database using this user, of course.

The issue is, while the other ASMX services seem to impersonate just fine with the user defined in the web.config, the WCF service is still running as the site's user, causing SQL authentication to fail.

Are there extra steps to enable impersonation for my WCF service? I have not done anything special beside adding:

service.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Delegation;

After I initialize my service proxy from my website.

View 1 Replies

Security :: Opening A Webpage Impersonating The User?

Sep 16, 2010

I have a WebApplication1 running in a port (let's say 4000) and I'm trying to build a website (WebSite1), running on IIS, that is running on the same server. I have no control over the WebApplication1, it's a packaged software, WebSite1 is built by me.

The WebSite1 will do a custom user validation and then will let the user access the WebApplication1:4000 under the impersonated user under which the website is running, not the user in the client machine. Sort of like changing the user in the session.

View 1 Replies

.net - How To Access Shared Memory While Impersonating A Client

Oct 17, 2010

I'm trying to access global shared memory from an ASP.NET web method while impersonating a client, but I get access denied when trying to open the handle. As an example:

[WebMethod]
public string Testing()
{
string result = null;
using (var ctx = WindowsIdentity.Impersonate(IntPtr.Zero))
[code]...

View 1 Replies

Web Forms :: Get Users Local System Drives

Jan 23, 2012

getting user's local machine drives in asp.net

When i use the code below

foreach (DriveInfo drive in DriveInfo.GetDrives())

{       Console.WriteLine(drive.Name);}

after deploying in server it get servers local drives

View 1 Replies

Web Forms :: Can Access Network Share Folder With Impersonating

Sep 29, 2010

I am stumped. i want my asp.net website to access a network share folder which is located at say, //hero/superman. I can do it manually.

I've done the following:

1. Included <identity impersonate="true" userName="IUSR_TEST" password="test" /> in my web.config.

2. Set anonymous access in IIS 5.1 with username IUSR_TEST and password: test in the account that is used for anonymous access. Checked integrated windows authentication.

3. Created a profile for IUSR_TEST in computer/management/local users and created the password: test for it. It is a member of guest.

4. Created a user account IUSR_TEST for the network share computer. gave it the same username and password.

4. On the network share computer, I've enabled access for the following people: ASPNET, NETWORK SERVICE, and IUSR_TEST.. all with full potential (for now) for the directory path in question //hero/superman which is really located on: c:herosuperman. I've given it full access.

But when I StreamReader fs = File.OpenText(Server.MapPath(@"\herosuperman est.txt"); I get the error "UnauthorizedAccess Exception". Access to the path \herosuperman est.txt is denied.

So what did I miss, what am I doing wrong. The key thing here are:

the webserver is on a domain. the network share computer is NOT on a domain, it is on it's own workgroup. This workgroup, lets just say is called "villains". So if I have to manually map the network drive to access the files, I must type: /villains/IUSR_Test and password: test to be able to map it on my webserver local computer.

View 2 Replies

Web Forms :: Securely Access Server Drives And Folders

Nov 22, 2015

I have M:PDF-ImagesList-PDF drive on the Server with thousands of images stored.

On the M drive has folder:

M:PDF-ImagesList-PDF45404539532.pdf
4539533.pdf
4539534.pdf
4539537.pdf ...

How to access to the folder drive by using VB.NET or C# in the code-behind (securely: with username and password) for the users to be able to view images on the popup window?

See the code :

Protected Sub BtnServerDrive_Click(sender As Object, e As EventArgs) Handles BtnServerDrive.Click
Dim PartNumber As String = txtPartNumber.Text.Trim()
'Calculate the folder 4540 like container
Dim NumContainer as string = txtPartNumber.Text.Trim()
NumContainer = (txtPartNumber.Text.Trim / 1000 + 1).toString.Split(".").First

[Code] ....

How to achieve this results to access to the server drive to get images for view by using VB.NET or C# in code-behind. Servermappath, UNC, or else?

View 1 Replies

Building A Page To List Files In Directory On Web Server And Network Drives?

May 17, 2010

I have seen some examples on other sites , but since im not familiar enough with DirectoryInfo and Files from the System.IO namespace, i dont know how to change it to fit my needs. So i found a very simple example that works, but i have some questions.

Here is the code i found:

[Code]....

This works great and lists the files in my root directory.

#1 - What i need to know is how to accomplish the same thing but in a format i can control, this code simply displays the files at the top of my page and pushes everything down. So does anyone know of a good and simple tutorial written in C#?

#2 - I also need to be able to setup the code so that certain files within the directories are not displayed, as in the code behind files and other files to be determined by the business.

View 2 Replies

Best Way To Find Out To Which Route Url Is Getting Mapped In Mvc?

Jun 6, 2010

is there any way to find out to which route my url is getting mapped in asp.net mvc.

View 2 Replies

How To Upload Files In Mapped Drive

Apr 4, 2011

Need to upload files in mapped drive. i tried with UNC path. locally i tried with 2 systems its working fine. but in production environment its not working. Scenario is, 2 systems with windows 2003 server. one is app server and second is data server. Hosted app in IIS. Its something with the drive/folder permissions.

View 1 Replies

Coloring A Map According To Mapped Database Values?

Jul 17, 2010

Coloring a map according to mapped database values?

Question: [URL]
one can see a map of european countries colored according to state debt/deficit. Now I would have already found it useful several times if I was able to do such a thing myself, for example to visualize regional sales data.

Is there any (OpenSource) tool with which I can color a world/continental/reginal map according to colors mapped to values in a database ? Or any tool that can construct a custom map ?

Or if there is no such thing, how would one do such a thing oneselfs ? Get the outlines of countries from somewhere, make everything outside the country outlines transparent, set the coordinates and z-indeces to stack several images over one another, and then replace the base color with the selected color in each image, then merge the result to a single picture ?

View 1 Replies

ADO.NET :: Gen Objects Mapped To Entity Framework?

Dec 6, 2010

I've been tasked to convert our old DAL that have gen objects to possibly the Entity Framework 4.0. We create objects inheriting from our genned objects and have a ton methods our legacy codes uses. Does anyone have an idea or possible solution on how to create an entity framework model that maps to our old genned objects? Or a solution that requires us to modify our legacy code minimally?

View 1 Replies

Migrating From PHP With Links Mapped By GOOGLE?

Nov 29, 2010

I'm migrating my website from PHP to ASP.NET and I have a problem.

All links on my website are mapped by GOOGLE, for example: _http://www.xxxxx.com/news.php?id=4345.

When the new version of Website is online, this mapping will not exist.

The link will change to _http://www.xxxxx.com/news.aspx?id=4345.

View 2 Replies

Security :: Identity Impersonate + Integrated Security(DB) And Programatically Impersonating The User?

Nov 19, 2010

I have identity impersonate = true in the Web.config file. I have integrated security = true in the DB connection string in the Web.config file.Before identity impersonate was true,users were able to access the DB through the web service account (seemingly).Now I get an error which says " Login failed for ... " because I am aware there is no specific account for that user in the permissions for that DB instance.I needed to set identity impersonate = true because the web service does not have access to the Active Directory,which I need to retrieve certain user information.

My question is,does identity impersonate = true override the integrated security and attempt to user the authenticated user's account to connect to the DB? Is there a simple way to prevent this in the Web.config itself?If not,would programatically impersonating the user within the Active Directory query functions and setting identity impersonate = false do the trick here?

View 2 Replies

Detect If The Current Request Is Being Mapped Via URL Routing?

Feb 16, 2011

Is there no way to detect if the current request is being mapped via ASP.NET 4.0 URL routing?

I have an HTTP module that handles the application's BeginRequest event. I have found that this handler is called for all file types, including CSS, JS, image files, etc., and I just want to perform an action if the target file is an ASPX page.

In the case of routed pages, all the properties of the HttpRequest object reflect the requested URL, and not the ASPX page that the request is being mapped to. How can I determine if the request will be handled by an ASPX file?

View 2 Replies

JQuery :: Using HTML Dropdownlist Which Is Mapped With Database?

Mar 2, 2011

i am using html dropdownlist which is mapped with database using jquery. I want that person select 2 or more than 2

View 1 Replies

Visual Studio :: Mapped Breakpoints In Mvc Views Not Working?

Jul 12, 2010

I have a asp.net mvc project in VS2010. In it I have a view called main.aspx that contains alot of javascript that frequently needs to be debugged. I can set the break point in the aspx page's javascript at edit time in VS2010. It appears as a mapped breakpoint. When I launch the debugger/IE browser, the javascript break point never gets hit. If I add a debugger; statement to my javascript I can launch a new visual studio instance and debug javascript. Unforunately, this requires a second visual studio instance and I have to set breakpoints all over again when I do it this way. Also, I have to remember to remove the debugger; statement when I am finished debugging. Is there a better way to get client side breakpoints working in Visual Studio 2010/IE?

View 3 Replies

Web Forms :: Mapped Path Works Only On Local Machine?

Apr 16, 2010

i have the following code. what i have tried to do is map a path which points to my R:/ - the value 'R:' is stored in my web.config file. this drive is on my server. what i then do is pass the file name and play in an embedded media player in the web browser. when browse the website everything works fine. however, when i browse the website on another PC, i get an error saying it cannot access the file. is this because the second PC i tried the wesbite on doesnt have an R: drive? i wouldnt have thought this was a problem though. is what i am doing wrong? does anyone know why i cant access the file on that drive?

fileName = ConfigurationManager.AppSettings["MappedDrive"] + fileName;

View 6 Replies

Visual Studio :: FileWatcher Not Working On The Mapped Drive?

Feb 10, 2010

I am facing a wired issue currently. I have created a application that runs on FileWatcher system. It works fine on the local folder but when I try to use it over a mapped network I am getting following error:

System : The directory name Z:Pratik TalatiDownloadssharedinput is invalid.

or

mscorlib : The path is not of a legal form.

View 1 Replies

DataSource Controls :: Adding New Field To A Table Mapped In LINQ?

May 25, 2010

I have a table added to a dbml file in my website. The website is already deployed to Live server. Now I have been instructed to a add a new field to the table. The field will be defaulted as getdate().

I don't plan to modify my dbml file for this change since the filed holds a default value. Will it cause any issue(performance related or any other). I am sure that I will not have to use the newly added field in the website. I am new to LINQ.

View 3 Replies

Publishing Web Application To A Mapped Drive With Visual Studio 2008 And Windows 7

Oct 21, 2010

We have a shared drive where web applications are published to. When I attempt to publish I get the following error:

------ Publish started: Project: XXX.Web, Configuration: Release Any CPU ------
Connecting to T:WebSitesXXX...

Unable to create the Web site 'T:WebSitesXXX'. The path 'T:WebSitesXXX' does not exist or you do not have access. The system cannot find the path specified.

Details

OS: Windows 7
IDE: Visual Studio 2008 (running as administrator)
Path exists? Yup.

I assume it's some permissions issue, but I have no idea where to start.

View 2 Replies

HttpHandlers / Modules :: Files Won't Download From Website When The Site Has A Custom HTTP Handler Mapped

Nov 28, 2010

When I have a HttpHandler class in C#/ASP.NET mapped to a file extension in IIS any file with that extension fails to download/display in web browsers (it's downloaded as a 0-byte file in some browsers and nothing at all in other browsers). After removing the application mapping for the HttpHandler in IIS so it doesn't call the IHttpHandler class in C#, the web browser downloads the file successfully.

This was tested with an IHttpHandler class in C# that has an empty ProcessRequest method.

View 2 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved