12. marts 2004 - 13:13Der er
5 kommentarer og 1 løsning
Authentication med ASP
Hej
Jeg har brug for at en bruger som allerede er logget på mit domæne, skal bruge sit windows password når brugeren tilgår en special side (ikke alle sider).
Jeg har ledt en del steder omkring dette men har ikke kunne finde et entydigt svar. Min IIS 5 er sat op til "Integrated Windows authentication og min ide er så, at når siden der kræver adgang tilgås bliver brugeren promptet for sit Windows password. Dette skal verficeres med deres domain password. Er dette muligt?
Selve stedet hvor de promptes kan både være en Form eller den velkendte Windows-boks - Det er ligemeget
Er der nogen der kan hjælpe med dette (ekspempler er velkomne) eller har andre ideer til hvordan man kan have en sådan verificering på et Restricted area?????????
Intranettet kører med javascript, men V eksempler er også velkommen.....
Hvis du allerede ved at brugeren er logget ind, er der vel ikke grund til at spørge efter password igen? Med Integrated Windows Authentication kan du spørge på en server-variabel, om brugeren er logget ind:
If Len(Request.ServerVariables("AUTH_USER")) =0 Then Response.Status ="401 Unauthorized" Response.End End If
Læg dette stykke kode ind i global.asa under Session_Onstart. Dit website vil nu starte op, og se om der står en tekst i AUTH_USER. Hvis ikke, afsluttes sessionen, og en ny startes. Hvis der stadig ikke står noget, vil serveren automatisk aflevere en Unautorized Access tilbage til browseren.
Koden vil i givet fald gæle for alle brugere. Hvordan definerer jeg at bruger 1+2+3 har adgang til denne side mens bruger 4+5 ikke har adgang????? Udfra din kode er det bare om brugeren er logget på eller ej. Hvis ikke brugeren er logget på er der slet ingen adgang til Intranettet. SÅ det er sikkerhed på EFTER de er logget på deres maskiner som jeg er ude efter....
Du skal kende brugernavnene på dem som du vil give adgang. Når du har spurgt på brugernavnet, kan du evt. vha. Server.Transfer videredirigere til henholdvis din side med sikkerhed, dels en side der gør opmærksom på man ikke har adgang.
F.eks. en bruger logger ind som "xyz123" på domænet "dom01" Ved at spørge på servervariablen, får vi strengen "dom01\xyz123" returneret. Nu kan du jo lave noget a la:
Select Case Request.ServerVariables("AUTH_USER") Case "dom01\xyz123" Server.Transfer("MinSide.asp") Case Else Server.Transfer("IngenAdgang.asp") End Select
Slå evt. brugeren op i en database/active directory, for at se om de har adgang etc.
tubber: nej, man kan ikke logge brugere på vha. denne kodestump - hvor er sikkerheden så henne?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.