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:
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:
Nu wil ik als test een md5 hash bepalen over een bestand dat op een netwerkshare staat via het volgende script
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 =
Wat doe ik niet goed?
nogmaals ik wil geen rechten geven op de aspuser.
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.