| |
[ 22. June 2000]
- Jany_Masaryk
Autentifikácia uživateľov pomocou IIS a NTGroups (používanie ADSI)
Existuje niekoľko spôsobov ako robiť na web stránkach personalizáciu a autentifikáciu.
V mojom článku Autorizácia užívateľov Intranetu pomocou NT prihlasovacieho
mena a hesla som sa už zaoberal autentifikáciou uživateľov. Dnes si vysvetlíme popíšeme ako
robiť autentifikáciu a personalizáciu stránok založenú na účtoch uživateľov NT, teda účty organizované
cez WinNT User Manager.
Popis používaného príkladu
Pre účel tohoto príkladu
sú použité dve stránky. Na prvú hlavnú má prístup ľubovoľný uživateľ. Na druhú
stránku bude mať prístup už len uživateľ, ktorý je členom NT Groups domény a
autentifikuje sa.
Nastavenie uživateľských účtov.
Nastavenia uživateľských účtov robíme pomocou administračného programu User Manager.
- Cez menu ( User -> New Local Group ... ) vyvoláme
dialog menu pre tvorbu NT Groups
- Vyplníme dialog menu a tak zriadime NT Groups.
- Vytvoríme uživateľa ( User -> New User ... ). V
prvom dialógovom okne vyplníme položky "UserName", "Password" a "Confirm
Password". Zaškrtneme "User cannot change password", "Password never expires"
a odškrtneme "User must change Password at next logon", čím upravíme
používanie hesla pre daného uživateľa. Tieto "škrtacie" nastavenia nie sú
podstatné pre ďaľšiu funkcionalitu a je vecou administrátora, ako ich použije.
Kliknutím na tlačítko "Groups" sa dostaneme do druhého dialógového okna kde
pomocou tlačítka "Add" pridáme nami vytvorenú skupinu uživateľov, čím
priradíme nášho novo vytvoreného uživateľa do tejto skupiny (NT Groups).
Potvrdíme dialógové okná.
Nastavenie Security Permission pre adresáre a pre súbory
Ďalším nastavením je bezpečnostné nastavenie pre súbor obsahujúci druhú "autentifikačnú stránku".
- Pravým tlačítkom myši nad adresárom kde sa nachádza
naša web aplikácia (Serverovské miesto !!!, t.j. umiestnenie odkiaľ parsuje
stránky server) vyvoláme vlastnosti daného adresára.
- Pomocou tlačítka "Permissions" umiestneného v záložke
"Security" vyvoláme dialógové okno "Directory Permissions".
- Zaškrtneme obidve položky ("Replace Permission on
Subdirectories" aj "Replace Permission on Existing Files"), čím zabezpečíme
aktualizáciu nového nastavenia nielen na súbory aktuálneho adresára ale aj na
jeho podadresáre.
- Upravíme zoznam oprávnených uživateľov aby tam ostali iba traja uživatelia. "názov serveraAdministrators"
a "System s plnými právami". Pre uživateľa IUSR_názov servera pridelíme práva "Read". Pomocou tohoto
účtu sa pristupuje k webu ako anonymný uživateľ.
- Ten istý postup prideľovania Security Permissions zopakujeme pre náš druhý "autentifikačný" súbor
s tým rozdielom, že na zozname oprávnených uživateľov bude chýbať IUSR_názov servera a miesto neho tam bude nami
vytvorená skupina (WebUserManager) s právami Read.
Nastavenie IIS autentifikácie
- Spustíme si Internet Service Manager (MMC)
- Pomocou pravého tlačítka vyvoláme vlastnosti nášho
webu.
- V časti "Anonymous Access and Authentication Method"
záložky "Directory Security" stačíme tlačítko "Edit..."
- Vo vyvolanom dialógovom okne necháme zaškrtnutú voľbu "Allow anonymous access",
pričom pomocou tlačítka "Edit..." skontrolujeme či je pre anonymný prístup používaný účet IUSR_názov servera.
- Pomocou pravého tlačítka vyvoláme vlastnosti
"autentifikačného" súboru.
- V časti "Anonymous Access and Authentication Method"
záložky "File Security" stačíme tlačítko "Edit..."
- Vo vyvolanom dialógovom okne zaškrtneme voľby "Basic Authetication" a "Windows NT Challenge/Response",
pričom pomocou tlačítka "Edit..." v oblasti "Basic Authetication" môžeme nastaviť používanú doménu aby sa uživateľ
nemusel prihlasovať v tvare "doménauživateľ" ale aby stačilo "uživateľ".
Týmto máme nastavené práva na súbory, spôsoby autentifikácie a aj NT uživateľov a ich zaradenie
do skupín uživateľov. Môžeme si skúsiť funkčnosť autentifikácie.
Ďaľšie tipy pre Kódovanie
Zatiaľ sme si vysvetlili použitie ADSI pre potreby autentifikácie. Ako však môžeme toto všetko použiť
pre personalizáciu ? Veľmi jednoducho.
<%@ Language=VBScript %>
<%Response.Expires = 0%>
<%
On Error Resume Next
Err.Clear
Function IsGroupMember(strDomain, strGroup,strUser)
Set IsMemberobj = getObject("WinNT://" & strDomain & "/" & strGroup)
If Err.number <> 0 Then
IsGroupMember = False : Exit Function
If IsMemberobj.IsMember("WinNT://" & strDomain & "/" & strUser) Then
IsGroupMember = True
Else
IsGroupMember = False
End If
Set obj = Nothing
End Function
%>
<HTML>
<HEAD>
<meta content="text/html; charset=windows-1250" http-equiv="Content-Type">
</HEAD>
<BODY>
<h3>Gratulujem, dostali ste sa na túto stránku.</h3>
<%
If IsGroupMember("pc5406", "WebUserManager", Request.ServerVariables("AUTH_USER"))
= True Then
Response.Write("<h4>Ste členom skupiny WebUserManager a ste prihlásený
pod účtom " &
Request.ServerVariables("AUTH_User") & "</h4>")
End If
%>
<A HREF="Main.htm">Návrat na hlavnú stránku</a>
<P></P>
/BODY
/HTML
Na tejto stránke zistíme pomocou Funkcie "IsGroupMember" či je autentifikovaný uživateľ členom NT Group
"WebUserManager". Myslím, že kód je natoľko jednoduchý, že nepotrebuje ďalší komentár.
Takže týmto sa pre dnes lúčim. Štastné autentifikovanie ... :-)))
|
|
| |
|
"Autentifikácia uživateľov pomocou IIS a NTGroups (používanie ADSI)" | Login / vytvor konto | 0 Komentárov |
|
Za obsah komentárov je zodpovedný užívateľ, nie prevádzkovateľ týchto stránok. |
|