Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

User Account Management Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont.

Hasonló előadás


Az előadások a következő témára: "User Account Management Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont."— Előadás másolata:

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

29


Letölteni ppt "User Account Management Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont."

Hasonló előadás


Google Hirdetések