membership, role manager and profile membership, role manager and profile matt gibbs asp.net...

27
Membership, Role Manager Membership, Role Manager and Profile and Profile Matt Gibbs ASP.NET Development Manager

Post on 21-Dec-2015

245 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Membership, Role ManagerMembership, Role Managerand Profileand Profile

Matt GibbsASP.NET Development Manager

Page 2: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

• Overview of Provider Model

• ASP.NET 2.0 Security Services– Membership (Authentication)– Role Manager (Authorization)

• ASP.NET 2.0 Personalization Features– Profile feature

• Summary

Agenda

Page 3: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Provider Model

Data Stores

SQL Server 7 / 2000 / 2005 Active Directory Access User Defined

Providers

Microsoft Provider Implementations Custom Providers

Public Feature API

Calls Configured Providers

Providers Communicate With Data Stores

Page 4: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

ASP.NET 2.0 Security Services - Membership

Page 5: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Security Services - Membership• Membership

– Replaces complex authentication code– Solves common credential storage problem

• Secure Credential Storage Services– Hashed + random salt for user credentials– Eliminates complex security plumbing code

• Comprehensive user management– Creating Users / Credential Validation– Password maintenance

Page 6: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Login Controls• No code needed

• Integrates seamlessly with security features– Controls change behavior based on

configuration of security features

• Rapidly build out common security UI:– Login/Logout– Create new users– Password recovery / password maintenance

• Easily modify page display based on a user’s role

Page 7: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Membership ClassesSystem.Web.Security

• Membership – Main entry point for programming with the

Membership feature• Validating credentials• User Management• Finding/Getting Users

• MembershipUser– Represents a user in Membership– Properties represent data about the user

• Username, Email, LastLoginDate, etc…

• MembershipProvider– Defines the required functionality for

implementing the feature

Page 8: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Membership Security• Can create users in a disabled state

• Password Question and Answer

• Membership tracks bad password and bad answer attempts

• Configurable thresholds for number of attempts and tracking time window

• Passwords are hashed by default

• Extensibility for encryption and password validation

Page 9: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Creating and Managing Users

•Create users w/ console app

•Validate user credentials

demo

Page 10: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

ASP.NET 2.0 Security Services – Role Manager

Page 11: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Security Services - Role Manager

• Role Manager– Solves common user-to-role mapping code– Replaces complex authorization code– Builds on ASP.NET 1.X Role APIs

•RolePrincipal class represents logged in user

• Not tied to Membership– Works great together, but…– Role Manager can be used separately

Page 12: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

• Enables the following two common AuthZ scenarios– Declaratively restrict access through

web.config

– Code-based authorization checks using User.IsInRole

Role Manager

<authorization><authorization>

<allow roles="Administrators" /><allow roles="Administrators" />

<deny users="*" /><deny users="*" />

</authorization></authorization>

User.IsInRole(rolename);User.IsInRole(rolename);

Page 13: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Role Manager ClassesSystem.Web.Security

• Roles– Main entry point

• Create, Delete roles, etc.. • IsUserInRole check

• RoleProvider – Defines the required functionality for the

feature• RolePrincipal &

RoleManagerModule – Automatically associates roles with the current

user– Supports role caching

Page 14: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Role Manager

• Create new roles• Map users to roles

•Url Authorization• Using role based security

demo

Page 15: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Personalization Features

Page 16: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Profile

• Store custom data about each user– Access through friendly programming model– Eliminate complex data plumbing code

• Store user data indefinitely– SQL Server (or other) back-end

• Associates a user with data– Remember user settings and preferences– Build richer web sites

Page 17: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Web Parts Personalization

• Long-term persistent storage of control properties (e.g. long-lived viewstate)

• Data is stored on a per-user-per-page basis

• Personalization is a feature of Web Parts– Works with both User Controls and custom

Server Controls

Page 18: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Profile

Page 19: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Profile• Defined completely in configuration

– No custom code required

• Type-safe programming model– No dictionary key to remember - No casting

• Smart data retrieval– On-demand and Partitioned data retrieval

• Provider Model– Plug in your own data stores for extensibility

• ProfileModule– Loads & saves Profile data on each page request

Page 20: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Profile Configuration•Configuration is central to the Profile feature

Page 21: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Profile Programming Model

Page 22: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Working with Profile

• Scalar property types, e.g. int• Non-Scalar property types, e.g. Collections•Custom types, e.g. System.Drawing.Color

demo

Page 23: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Summary

• Membership – easy way to create, manage and validate users

• Role Manager – authorize users based on roles

• Profile – easily store and retrieve information for a user

Page 24: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

• Provider information + Access providers:http://msdn.microsoft.com/asp.net/downloads/providers/

• Sample Code: Atlas, Profile Providers, etc..http://www.asp.net/default.aspx?tabindex=8&tabid=60

Page 25: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Questions?

Page 26: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager
Page 27: Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET Development Manager

Advanced Scenarios

• Creating Profile data for new users•Associating role data in CreateUserWizard

• Approving new users•Controlling site navigation with roles

demo