Asp.net mvc application deployment / security issues

Posted by WestDiscGolf on Stack Overflow See other posts from Stack Overflow or by WestDiscGolf
Published on 2010-06-11T07:07:16Z Indexed on 2010/06/11 12:23 UTC
Read the original article Hit count: 348

I'll start with appologies; I wasn't sure if this was best posted here of Server Fault so if its in the wrong place then please move :-)

Basic information

I have written the first module of a new application at work. This is written using Visual Studio 2010, targetting .net 3.5 (at the moment) and asp.net mvc 2. This has been working fine during development running on the built in Development server from VS but however does not work once deployed to IIS 7/7.5.

To deploy the application, I have built it in release mode and created a deployment package by right clicking on the project in the solution explorer (this will be done with an automated build in tfs once upgrade from the beta). This has then been imported into IIS on the server.

The application is using windows/domain authentication.

Issue #1

I can fire up internet explorer and browse to the application from a client computer as well as on a remote desktop connection. I can execute the code which reads/stores data in Session fine from the IE instance on the remote desktop but if I browse to it from the client pc it seems to lose the session state. I click on the form submit and the page refreshes and doesn't execute the required code. I've tried setting with; InProc, SQLServer and StateServer. but with no luck :-(

Issue #2

As part of the application it views PDF and Tiff documents on the fly which are on a network share on the office network and creates thumbnails if the document hasn't been viewed before. This works if running on the machine the application is deployed to; however when browsing from a client pc I get an error saying:

Access to the path '\\fileserver\folder\file.tif' is denied Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Access to the path '\\fileserver\folder\file.TIF' is denied.

ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via , the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.

As this is on a different server the user is not accessible. To get round this I have tried:

1 - setting the application pool to run as domain administrator (I know this is a security risk, but I'm just trying to get it to work at the moment!)

2 - to set the log on account for World Wide Web Publishing service to be the domain admin . When trying to restart the service I get ...

Windows could not start the World Wide Web Publishing Service service on the Local Computer.

Error 1079: The account specified for this service is different from the account specified fro the other services running in the same process.

Any pointers/help would be much appriciated as I'm pulling my hair out (of what little I have left).


Update

I've been using this funky little tool I found - DelegConfig v2 beta (Delegation / Kerberos Configuration Tool). This has been really usefull. So I've got the accessing of the file share working (there is a test page which will read the files) so now I've just got the issue of passing through the users credentials through to the SQL Server (wans't my choice to do it this way!!) to execute the queries etc. but I can't get it to log on as the user. It tries to access it as "NT Authority\Network Service" which doesn't have a sql login (as should be the logged on user).

My connection string is:

<add name="User" connectionString="Data Source=.;Integrated Security=True" providerName="System.Data.SqlClient" />

No initial catalog is specified as the system is over multiple dbs (also wasn't my choice!!).

I really appriciate all the help so far! :-)

Any further hints?!

© Stack Overflow or respective owner

Related posts about asp.net-mvc

Related posts about deployment