[asp.net] File.OpenRead + unc path

Pagina: 1
Acties:

  • bastv
  • Registratie: September 2005
  • Laatst online: 23-02 19:46
Dit is nogal een ingewikkelde constructie.
Ik heb iis authentication op windows staan want ik wil netwerk shares benaderen met de rechten van diegene die de pagina opvraagd. (dus ik wil geen rechten geven aan de ASPuser)

Dat werk prima via dit script:
code:
1
2
3
4
5
6
Dim authUserName As String
Dim aspUserName As String
authUserName = User.Identity.Name
aspUserName = Principal.WindowsIdentity.GetCurrent.Name
response.write ("You are: " & authUserName)
response.write ("This page runs as: " & aspUserName)


Nu krijg ik keurig te zien you are DOMEIN\Gebruikersnaam en the page runs as DOMEIN\Gebruikersnaam dat gaat dus goed

Mijn web.config ziet er zo uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
 <system.web> 
   <compilation  
        defaultLanguage="c#" 
        debug="true" 
   /> 
   <customErrors  
   mode="Off"  
   /> 
<identity impersonate = "true"/>
   <authentication mode="Windows" />  
   <authorization> 
       <allow roles="DOMEIN\Gebruikersnaam" /> 
       <deny users="*" /> 
   </authorization> 
  
</system.web> 
</configuration>


Nu wil ik als test een md5 hash bepalen over een bestand dat op een netwerkshare staat via het volgende script

code:
1
2
3
Dim Checksum As new MD5
Dim _fileOne As Stream = File.OpenRead("\\server\tools\kill.exe")
response.write (Checksum.Hash(_fileOne))


Als ik nu de pagina opvraag dan krijg ik een login venster.. dit wil ik niet ik wil gewoon dat hij de md5hash bepaald van dat bestand met de rechten van de gebruiker die de pagina opvraagd.

Debug info =
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
[UnauthorizedAccessException: Access to the path '\\server\tools\kill.exe' is denied.]
   System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +2014419
   System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) +998
   System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) +114
   System.IO.File.OpenRead(String path) +30
   ASP.test3_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in c:\inetpub\wwwroot\test3.aspx:30
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +2065883
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +24
   System.Web.UI.Page.Render(HtmlTextWriter writer) +26
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +25
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1896


Wat doe ik niet goed?
nogmaals ik wil geen rechten geven op de aspuser.

  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

Standaard worden de rechten waarmee de gebruiker op jouw webserver aanmeld niet doorgevoerd naar andere servers:
code:
1
user -----> webserver --- X ---> share

Het eerste stukje gaat prima met impersonation etc etc. Wat jij wil is "delegation of control" wat inhoud dat de webserver de credentials van de gebruiker door kan geven naar de share.
Het is te configureren maar dit brengt nogal wat beveiligingsproblemen met zich mee.

Zie ook KB810572

[ Voor 10% gewijzigd door MTWZZ op 14-03-2006 14:17 ]

Nu met Land Rover Series 3 en Defender 90


  • bastv
  • Registratie: September 2005
  • Laatst online: 23-02 19:46
Bedankt!! dit werkt
via AD de server "Trust this computer for delegation to any service" gegeven en het werkt.
Hier ben ik dus al vanaf 8:30 mee bezig geweest en is eigenlijk heel simpel je moet er maar net op komen :D
en die beveiliging risico's die zijn minder erg dan de aspuser rechten geven op de fileserver

[ Voor 20% gewijzigd door bastv op 14-03-2006 14:38 ]