Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaCsenge Gáspárné Megváltozta több, mint 10 éve
1
User Account Management Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont
2
Probléma Azonosítani kell a felhasználókat Hozzá kell rendelni a jogokat
3
Authentikáció és Authorizáció Hitelesítés (Authentikáció) : – Felhasználó kilétének megállapítása – Azonosságának ellenőrzése Hozzáférés engedélyezése (Authorizáció): – Az azonosított felhasználó hozzáférésének beállítása – Hozzáférések megadása felhasználónként, szerepkörönként
4
ASP.NET hitelesítési módjai Windows-alapú – Windows operációs rendszeren és az IIS-en alapszik – Az IIS végzi a hitelesítést Form-alapú – A nem hitelesített felhasználók egy Bejelentkező oldalra vannak átirányítva – Hitelesítés után egy authentikációs cookie jön létre
5
Hitelesítések összehasonlítása Windows-alapú – Meglévő Windows infrastruktúrát használja – Korlátozza a bizalmas adatokhoz való hozzáférést DE: – A legtöbb Internetes alkalmazás esetén nem használható Form-alapú – Internetes alkalmazások esetén jól használható – Mindenféle felhasználó esetén alkalmazható DE: – Cookie-t használ, vagy…
6
IIS Hitelesítési Beállításai Biztonsági szint Mechanizmus AnonymousNincs Nem authentikál Basic Alacsony (Közepes az SSL esetén) A kliens felhasználói nevet és jelszót küld sima szövegként SSL használható A legtöbb böngésző támogatja DigestKözepes Kódolt hashként küldi az infót Internet Explorer 5, 6, 7 vagy 8 Active Directory szükséges Integrated Windows Magas NTLM vagy Kerberos Általában intranetre és nem Internetre Legtöbb tűzfalon nem megy át
7
Windows-alapú hitelesítés Az IIS-en állítsuk be ezek egyikét: – Basic, Digest, Integrated Windows security Web.config-ban: – Állítsuk be az authorizációt is. Ha egy felhasználó el akarja érni a web alkalmazásunkat, az IIS előbb hitelesítési információt kér.
8
Hitelesítési információ lekérdezése Authentikáció után lekérdezhetők a bejelentkezett felhasználó hitelesítési információi: – User.Identity.Name – User.Identity.AuthenticationType – User.Identity.IsAuthenticated
9
IIS demó
10
Form-alapú hitelesítés Kliens lekér egy oldalt Authorizált ASP.NET Forms authentikáció Még nem authentikált Hitelesített Bejelentkező oldal (felhasználó kitölti) Hitelesített Authentikációs cookie Authorizált Nem hitelesített Hozzáférés megtagadva IIS Username Password Someone ******* Submit Elérhető a levédett oldal 4 2 1 6 3 7 5
11
Form-alapú hitelesítés Az IIS-en állítsuk be az Anonymous authentikációt Web.config-ban: <forms name=“MainLogon" loginUrl="login.aspx„ name=„Cookieneve” cookieless=„…” defaultUrl=„…” timeout=„30” /> – Állítsuk be az authorizációt is. Készítsünk egy Bejelentkező oldalt
12
Authorizáció File Authorizáció – Access Control List (Windows saját authorizációs mechanizmusa) – Csak Windows Authentikációval használható URL Authorizáció – Bármely hitelesítési móddal használható – Web.config-ban: Anonymous felhasználó
13
Egyes oldalak (mappák) levédése URL Authorizáció az egyes oldalakra – Annak a mappának a web.config-jában, amelyikben az adott oldal van: … … Összes felhasználó
14
Bejelentkező oldal létrehozása ASP.NET Login vezérlők használatával De hol és hogyan tároljuk a hitelesítési adatokat …?
15
Megoldás: ASP.NET Membership Beépített módszer a felhasználók hitelesítésének elvégzésére és hitelesítési adatainak tárolására
16
ASP.NET Membership komponensei User account létrehozása és törlése User account-ok tárolása – SQL Server, Microsoft Office Access, vagy egyéb Authentikáció – A Login vezérlőkkel könnyedén összerakható egy bejelentkező oldal. Jelszó menedzsment – Lehetővé teszi a jelszó beállítását, elfelejtett jelszó lekérdezését, stb.
17
Membership konfiguráció <add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="MySqlConnection" applicationName="MyApplication" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" passwordFormat="Hashed" />
18
Membership Osztály User Account-ok menedzselését végzi. Főbb metódusai: – CreateUser – DeleteUser – UpdateUser – ValidateUser Authentikáció végrehajtása – ChangePassword
19
Membership osztály használata I. Új felhasználó felvétele: MembershipUser userNew = Membership.CreateUser("Joe", "Pa$$w0rd", "joe@contoso.com"); if (userNew == null) { lblMessage.Text = „ User s ikeresen létrehozva."; } else { lblMessage.Text = "User létrehozása sikertelen"; }
20
Membership osztály használata II. Jelszó megváltoztatása: MembershipUser userCurrent = Membership.GetUser(); string sOldPassword = txtOldPassword.Text; string sNewPassword = txtNewPassword.Text; if (userCurrent.ChangePassword( sOldPassword, sNewPassword)){ lblMessage.Text = "Jelszó sikeresen megváltoztatva."; } else { lblMessage.Text = "Jelszó megváltoztatása nem sikerült."; }
21
Login vezérlők I. Login: LoginName: – a bejelentkezett felhasználó nevét mutatja. LoginStatus:
22
Login vezérlők II. CreateUserWizard: – A ContinueButtonClick eseményt kell lekezelni: protected void CreateUserWizard1_ContinueButtonClick( object sender, EventArgs e) { Response.Redirect("Members/Default.aspx"); }
23
Login vezérlők III. ChangePassword: PasswordRecovery: LoginView: – Bejelentkezett és anonim felhasználók számára különböző tartalom megjelenítésére.
24
LoginView vezérlő Welcome, <asp:HyperLink ID="HypLink1" Runat="server" NavigateUrl="~/MemberPages/ChangePassword.aspx"> Change Password Click Login to sign in. <asp:HyperLink ID="HypLink2" Runat="server" NavigateUrl="~/Register.aspx"> Register
25
Role menedzsment Be kell állítani a web.config-ban: <roleManager cacheRolesInCookie="true" enabled="true" defaultProvider="SqlProvider"> <add name="SqlProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="RolesConnection" applicationName="MyApplication" />
26
Role létrehozása és feltöltése Módjai: – ASP.NET Web Site Administration Tool – Programkóddal a Roles osztály használatával if (!Roles.RoleExists("Menedzserek")) Roles.CreateRole("Menedzserek"); Roles.AddUserToRole("Kiss Mari", "Menedzserek"); Szerepkör ellenőrzése: if (!User.IsInRole("Menedzserek")) btnDownloadFile.Visible = false;
27
Alkalmazásunk tervezése Form-alapú hitelesítés AspNetSqlProvider Login.aspx, Register.aspx létrehozása Login, LoginView, LoginStatus, LoginName, CreateUserWizard kontrolok használata
28
Alkalmazásunk megvalósítása
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.