role management in
DESCRIPTION
Role Management in .net. Vinay Dhareshwar. Agenda. Introduction Membership Service Login Controls Role Management Service. 2. Role Based Security. Most business applications require role-based security. Role management lets you create groups of users as a unit - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/1.jpg)
Role Management in .net
Vinay Dhareshwar
![Page 2: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/2.jpg)
Introduction Membership Service Login Controls Role Management Service
Agenda
2
![Page 3: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/3.jpg)
Most business applications require role-based security.
Role management lets you create groups of users as a unit
Roles give flexibility to change permissions and add and remove users.
Each Web page in the Web application can be assigned a security level
As you define more access rules for your application, roles become a more convenient way to apply the changes to groups of users.
Role Based Security
3
![Page 4: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/4.jpg)
Manages users and credentials Simplifies forms authentication Provider-based for flexible data storage
Membership Service
4
![Page 5: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/5.jpg)
Membership Schema
Membership API
MembershipData
ControlsLoginLogin LoginStatusLoginStatus LoginViewLoginView
Other MembershipProviders
Other MembershipProviders
Membership Providers
MembershipMembership MembershipUserMembershipUser
SqlMembershipProviderSqlMembershipProvider
OtherControlsOther
Controls
SQL ServerOther
Data StoresSQL Server
Express
5
![Page 6: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/6.jpg)
Key Membership Methods
![Page 7: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/7.jpg)
Creating New Userstry { Membership.CreateUser ("Jeff", "imbatman!", "[email protected]");}catch (MembershipCreateUserException e) { // Find out why CreateUser failed switch (e.StatusCode) {
case MembershipCreateStatus.DuplicateUsername: ... case MembershipCreateStatus.DuplicateEmail: ... case MembershipCreateStatus.InvalidPassword: ... default: ... }}
7
![Page 8: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/8.jpg)
Represents individual users registered in the membership data store
Returned by Membership methods such as GetUser and CreateUser
The MembershipUser Class
8
![Page 9: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/9.jpg)
Key MembershipUser Methods
![Page 10: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/10.jpg)
Configuring the Membership Service
<membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow = "00:15:00" hashAlgorithmType = "[SHA1|MD5]"> <providers> ... </providers></membership>
10
![Page 11: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/11.jpg)
Login Controls
![Page 12: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/12.jpg)
Using the Login Control
<html> <body> <form runat="server"> <asp:Login RunAt="server" /> </form> </body></html>
12
![Page 13: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/13.jpg)
Displays content differently to different users depending on:◦ Whether user is authenticated◦ If user is authenticated, the role memberships he
or she is assigned Template-driven
◦ <AnonymousTemplate>◦ <LoggedInTemplate>◦ <RoleGroups> and <ContentTemplate>
The LoginView Control
13
![Page 14: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/14.jpg)
Using LoginView
<asp:LoginView ID="LoginView1" Runat="server"> <AnonymousTemplate> <!-- Content seen by unauthenticated users --> </AnonymousTemplate> <LoggedInTemplate> <!-- Content seen by authenticated users --> </LoggedInTemplate> <RoleGroups> <asp:RoleGroup Roles="Administrators"> <ContentTemplate> <!-- Content seen by authenticated users who are administrators --> </ContentTemplate> </asp:RoleGroup> ... </RoleGroups></asp:LoginView>
14
![Page 15: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/15.jpg)
Role-based security in a box Simplifies adding role-based security to sites
that employ forms authentication Provider-based for flexible data storage
Role Management Service
15
![Page 16: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/16.jpg)
Role Management Schema
Roles API
Roles Data
SQL ServerOther
Data Stores
ControlsLoginLogin LoginStatusLoginStatus LoginViewLoginView
Other Role ProvidersOther Role Providers
Role Providers
RolesRoles
SqlRoleProviderSqlRoleProvider
SQL ServerExpress
OtherControlsOther
Controls
16
![Page 17: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/17.jpg)
Provides static methods for performing key role management tasks
Includes read-only static properties for acquiring data about provider settings
The Roles Class
17
![Page 18: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/18.jpg)
Key Roles Methods
![Page 19: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/19.jpg)
Creating a New Role
if (!Roles.RoleExists ("Developers")) { Roles.CreateRole ("Developers");}
Adding a User to a Role
string name = Membership.GetUser ().Username; // Get current userRoles.AddUserToRole (name, "Developers"); // Add current user to role
19
![Page 20: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/20.jpg)
Configuring the Role Manager
<roleManager enabled="[true|false]" defaultProvider="AspNetSqlRoleProvider" createPersistentCookie="[true|false]" cacheRolesInCookie="[true|false]" cookieName=".ASPXROLES" cookieTimeout="00:30:00" cookiePath="/" cookieRequireSSL="[true|false]" cookieSlidingExpiration="[true|true]" cookieProtection="[None|Validation|Encryption|All]" domain="" maxCachedResults="25"> <providers> ... </providers></roleManager>
20
![Page 21: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/21.jpg)
Role management is provider-based Ships with three role providers:
◦ AuthorizationStoreRoleProvider (Authorization Manager, or "AzMan")
◦ SqlRoleProvider (SQL Server)◦ WindowsTokenRoleProvider (Windows)
Use custom providers for other data stores
Role Management Providers
21
![Page 22: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/22.jpg)
Configuring SqlRoleProvider
<roleManager defaultProvider="AspNetSqlRoleProvider" ...> <providers> <add applicationName="/" connectionStringName="LocalSqlServer" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, ..." /> </providers></roleManager>
22
![Page 23: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/23.jpg)
Role Management
23
![Page 24: Role Management in](https://reader034.vdocuments.mx/reader034/viewer/2022051620/56812cb2550346895d9166fa/html5/thumbnails/24.jpg)
http://www.c-sharpcorner.com/UploadFile/praveenalwar/PraveenAlwar07202006064726AM/PraveenAlwar.aspx
http://msdn.microsoft.com/en-us/library/5k850zwb.aspx
http://oudinia.blogspot.com/2007/11/aspnet-20-security-role-management.html
http://www.codedigest.com/Articles/ASPNET/78_LoginView_Controls_with_Roles_in_ASPNet_20.aspx
http://msdn.microsoft.com/en-us/library/aa478958.aspx
http://download.microsoftvirtuallabs.com/download/8/a/7/8a71365b-4c80-4e60-8185-8f12f59bf1d4/ASP.NET2.0MembershipLoginControlsandRoleManagement.pdf
References
24