Download
user account management n.
Skip this Video
Loading SlideShow in 5 Seconds..
User Account Management PowerPoint Presentation
Download Presentation
User Account Management

User Account Management

128 Views Download Presentation
Download Presentation

User Account Management

- - - - - - - - - - - - - - - - - - - - - - - - - - - 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