1 / 29

User Account Management

User Account Management. Endrődi Tamás (MCT, MCP, MCITP) GDF Informatikai Intézet vezetője SZÁMALK Oktatóközpont. Probléma. Azonosítani kell a felhasználókat Hozzá kell rendelni a jogokat. Authentikáció és Authorizáció. Hitelesítés (Authentikáció) : Felhasználó kilétének megállapítása

javan
Download Presentation

User Account Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 egyauthentiká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-thasznál, vagy…

  6. IISHitelesítési Beállításai

  7. Windows-alapú hitelesítés • Az IIS-en állítsuk be ezek egyikét: • Basic, Digest, Integrated Windows security • Web.config-ban: <system.web> <authentication mode="Windows" /> </system.web> • Á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 1 2 IIS ASP.NET Forms authentikáció Hitelesített Kliens lekér egy oldalt Még nem authentikált Authorizált Username 6 4 Hozzáférés megtagadva Someone Password Bejelentkező oldal (felhasználó kitölti) ******* Submit Nem hitelesített 3 Hitelesített Authorizált Elérhető a levédett oldal 7 Authentikációs cookie 5

  11. Form-alapúhitelesítés Az IIS-en állítsuk be az Anonymousauthentikációt Web.config-ban: <authentication mode="Forms" > <forms name=“MainLogon" loginUrl="login.aspx„ name=„Cookieneve” cookieless=„…” defaultUrl=„…” timeout=„30” /> </authentication> Á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) CsakWindows Authentikációval használható URL Authorizáció Bármely hitelesítési móddal használható Web.config-ban: <authorization> <allow users=„Tamas"/> <allow roles="Admins"/> <deny users=„Feri"/> <deny users="?"/></authorization> 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: <configuration> …<location path=„VedettOldal.aspx"> <system.web> <authorization> <allow users=„Tamas"/> <deny users="*"/> </authorization> </system.web></location>…</configuration> Ö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 Membershipkomponensei User account létrehozása és törlése User account-oktárolása SQL Server, Microsoft Office Access, vagyegyéb Authentikáció A Loginvezé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. Membershipkonfiguráció <membership defaultProvider=SqlProvider" userIsOnlineTimeWindow="15"> <providers> <clear /> <add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="MySqlConnection" applicationName="MyApplication" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" passwordFormat="Hashed" /> </providers> </membership>

  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. Membershiposztá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 sikeresen létrehozva."; } else { lblMessage.Text = "User létrehozása sikertelen"; }

  20. Membershiposztá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: AContinueButtonClick 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. LoginViewvezérlő <asp:LoginView ID="LoginView1" Runat="server"> <LoggedInTemplate> Welcome, <asp:LoginName ID="LogName1" Runat="server"/><br/> <asp:HyperLink ID="HypLink1" Runat="server" NavigateUrl="~/MemberPages/ChangePassword.aspx"> Change Password </asp:HyperLink> </LoggedInTemplate> <AnonymousTemplate> Click Login to sign in.<br /> <asp:HyperLink ID="HypLink2" Runat="server" NavigateUrl="~/Register.aspx"> Register </asp:HyperLink> </AnonymousTemplate> </asp:LoginView>

  25. Role menedzsment Be kell állítani a web.config-ban: <roleManagercacheRolesInCookie="true" enabled="true" defaultProvider="SqlProvider"> <providers> <add name="SqlProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="RolesConnection" applicationName="MyApplication" /> </providers> </roleManager>

  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, CreateUserWizardkontrolok használata

  28. Alkalmazásunk megvalósítása

More Related