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
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    227
  • download

    1

Transcript of Membership, Role Manager and Profile Membership, Role Manager and Profile Matt Gibbs ASP.NET...

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