What's New in ASP.NET Identity - TRINUG Sept 2014

ASP.NET 
IDENTITY 
TRINUG: SEPTEMBER 10, 2014 
@SMITHDEREKM
What's New in ASP.NET Identity - TRINUG Sept 2014
atoms bits
What's New in ASP.NET Identity - TRINUG Sept 2014
What's New in ASP.NET Identity - TRINUG Sept 2014
What's New in ASP.NET Identity - TRINUG Sept 2014
What's New in ASP.NET Identity - TRINUG Sept 2014
What's New in ASP.NET Identity - TRINUG Sept 2014
What's New in ASP.NET Identity - TRINUG Sept 2014
AUTHENTICATION 
AUTHORIZATION
https://www.flickr.com/photos/124857260@N08/
HISTORY 
Roll your Own 
ASP.NET 
Membership
THIS HAPPENED…
THEN THIS HAPPENED…
HISTORY 
Roll your Own 
ASP.NET 
Membership 
ASP.NET 
Identity
DESIGN GOALS 
Improved 
User Profiles 
Improved 
Persistence 
Social Login 
Azure Active 
Directory 
OWIN integration 
One ASP.NET
RELEASES 
1.0 October 
2013 
VS 2013 
2.0 March 
2014 
NuGet 
Only 
Adds 2FA 
2.1 Aug 2014 
VS 2013 
Update 3 
Adds 
SignInManager
DEMO 
FILE; NEW PROJECT;
SOCIAL LOGIN 
1. Enable Provider 
2. Set up app on Social Network 
• https://apps.twitter.com 
• https://developer.facebook.com 
3. Set keys 
4. Build and run.
DEMO 
SOCIAL LOGIN
PROFILE DATA 
1. Enable-Migrations 
2. Add properties to ApplicationUser class 
3. Update Database schema 
4. Capture from User Interface 
5. Persist
DEMO 
USER PROFILE
CONVERTING TO 
ASP.NET IDENTITY 
• Update Data Schema 
• Script copying of user records in to new schema 
• Update ApplicationUser object 
• Add PasswordHasher to handle existing passwords. Register 
with UserManager 
• Write migration code to retrieve profile data and save to user. 
• Test and verify 
• http://www.asp.net/identity/overview/migrations
RESOURCES 
• http://www.asp.net/identity/overview/getting-started 
• http://www.asp.net/identity/overview/migrations 
• https://aspnetidentity.codeplex.com/ 
• http://www.hanselman.com/blog/AddingTwoFactorAuthent 
icationToAnASPNETApplication.aspx
DEREK SMITH 
@smithderekm 
www.codeovereasy.com 
DSMITH-14 for free trial
1 of 25

Recommended

Identity in ASP.NET Core by
Identity in ASP.NET CoreIdentity in ASP.NET Core
Identity in ASP.NET Coreondrejbalas
2.1K views21 slides
Asp.net identity dot netconf by
Asp.net identity dot netconfAsp.net identity dot netconf
Asp.net identity dot netconfrustd
1.1K views8 slides
Microsoft asp.net identity security by
Microsoft asp.net identity  securityMicrosoft asp.net identity  security
Microsoft asp.net identity securityrustd
3.3K views20 slides
Asp.Net Identity by
Asp.Net IdentityAsp.Net Identity
Asp.Net IdentityMarwa Ahmad
2.4K views26 slides
Authentication & Authorization in ASPdotNet MVC by
Authentication & Authorization in ASPdotNet MVCAuthentication & Authorization in ASPdotNet MVC
Authentication & Authorization in ASPdotNet MVCMindfire Solutions
1.7K views14 slides
ASP.NET 13 - Security by
ASP.NET 13 - SecurityASP.NET 13 - Security
ASP.NET 13 - SecurityRandy Connolly
1.1K views51 slides

More Related Content

What's hot

Windows Azure Active Directory by
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active DirectoryKrunal Trivedi
284 views24 slides
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control by
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access ControlOAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access ControlMaarten Balliauw
4.2K views40 slides
Hands on with ASP.NET MVC by
Hands on with ASP.NET MVC  Hands on with ASP.NET MVC
Hands on with ASP.NET MVC rahulsahay19
2.6K views17 slides
Programming with Azure Active Directory by
Programming with Azure Active DirectoryProgramming with Azure Active Directory
Programming with Azure Active DirectoryJoonas Westlin
462 views34 slides
Web App Security by
Web App SecurityWeb App Security
Web App SecurityShahed Chowdhuri
7.8K views19 slides
Windows azure active directory by
Windows azure active directoryWindows azure active directory
Windows azure active directoryKrunal Trivedi
288 views56 slides

What's hot(20)

Windows Azure Active Directory by Krunal Trivedi
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
Krunal Trivedi284 views
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control by Maarten Balliauw
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access ControlOAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
OAuth-as-a-service using ASP.NET Web API and Windows Azure Access Control
Maarten Balliauw4.2K views
Hands on with ASP.NET MVC by rahulsahay19
Hands on with ASP.NET MVC  Hands on with ASP.NET MVC
Hands on with ASP.NET MVC
rahulsahay192.6K views
Programming with Azure Active Directory by Joonas Westlin
Programming with Azure Active DirectoryProgramming with Azure Active Directory
Programming with Azure Active Directory
Joonas Westlin462 views
Windows azure active directory by Krunal Trivedi
Windows azure active directoryWindows azure active directory
Windows azure active directory
Krunal Trivedi288 views
Zero Credential Development with Managed Identities for Azure resources by Joonas Westlin
Zero Credential Development with Managed Identities for Azure resourcesZero Credential Development with Managed Identities for Azure resources
Zero Credential Development with Managed Identities for Azure resources
Joonas Westlin1.5K views
Zero credential development with managed identities by Joonas Westlin
Zero credential development with managed identitiesZero credential development with managed identities
Zero credential development with managed identities
Joonas Westlin239 views
Zero Credential Development with Managed Identities by Joonas Westlin
Zero Credential Development with Managed IdentitiesZero Credential Development with Managed Identities
Zero Credential Development with Managed Identities
Joonas Westlin372 views
O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur... by NCCOMMS
O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...
O365Con18 - Connect SharePoint Framework Solutions to API's secured with Azur...
NCCOMMS73 views
Windows Azure Active Directory by Pavel Revenkov
Windows Azure Active DirectoryWindows Azure Active Directory
Windows Azure Active Directory
Pavel Revenkov1.6K views
Certifications for Azure Developers by Krunal Trivedi
Certifications for Azure DevelopersCertifications for Azure Developers
Certifications for Azure Developers
Krunal Trivedi146 views
Microsoft Azure ad in 10 slides by Andre Debilloez
Microsoft Azure ad in 10 slidesMicrosoft Azure ad in 10 slides
Microsoft Azure ad in 10 slides
Andre Debilloez1.2K views
Dnc2015 azure-microservizi-vforusso by DotNetCampus
Dnc2015 azure-microservizi-vforussoDnc2015 azure-microservizi-vforusso
Dnc2015 azure-microservizi-vforusso
DotNetCampus791 views
2009 - NRW Conf: (ASP).NET Membership by Daniel Fisher
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership
Daniel Fisher370 views
Azure Active Directory by Sovelto
Azure Active DirectoryAzure Active Directory
Azure Active Directory
Sovelto4.6K views
RIA meets Desktop by Peter Elst
RIA meets DesktopRIA meets Desktop
RIA meets Desktop
Peter Elst407 views
Configuring iis on windows server 2008 for asp.net application by Abhijit B.
Configuring iis on windows server 2008 for asp.net applicationConfiguring iis on windows server 2008 for asp.net application
Configuring iis on windows server 2008 for asp.net application
Abhijit B.7.4K views
Identity Security - Azure Active Directory by Eng Teong Cheah
Identity Security - Azure Active DirectoryIdentity Security - Azure Active Directory
Identity Security - Azure Active Directory
Eng Teong Cheah92 views

Viewers also liked

Managing Projects With HomeSpot by
Managing Projects With HomeSpotManaging Projects With HomeSpot
Managing Projects With HomeSpotDerek Smith
507 views27 slides
Robot Chickens! How a Netduino runs our backyard chicken coop by
Robot Chickens!  How a Netduino runs our backyard chicken coopRobot Chickens!  How a Netduino runs our backyard chicken coop
Robot Chickens! How a Netduino runs our backyard chicken coopDerek Smith
859 views30 slides
Building data driven mobile apps with phone gap and webapi by
Building data driven mobile apps with phone gap and webapiBuilding data driven mobile apps with phone gap and webapi
Building data driven mobile apps with phone gap and webapiDerek Smith
10.5K views43 slides
Asp.net identity overview by
Asp.net identity overviewAsp.net identity overview
Asp.net identity overview功豪 魏
1.4K views81 slides
Unit testing by
Unit testingUnit testing
Unit testingSlideshare
2.2K views9 slides
Asp.Net Mvc 5 Identity by
Asp.Net Mvc 5 IdentityAsp.Net Mvc 5 Identity
Asp.Net Mvc 5 IdentityÜnal Ün
485 views30 slides

Viewers also liked(20)

Managing Projects With HomeSpot by Derek Smith
Managing Projects With HomeSpotManaging Projects With HomeSpot
Managing Projects With HomeSpot
Derek Smith507 views
Robot Chickens! How a Netduino runs our backyard chicken coop by Derek Smith
Robot Chickens!  How a Netduino runs our backyard chicken coopRobot Chickens!  How a Netduino runs our backyard chicken coop
Robot Chickens! How a Netduino runs our backyard chicken coop
Derek Smith859 views
Building data driven mobile apps with phone gap and webapi by Derek Smith
Building data driven mobile apps with phone gap and webapiBuilding data driven mobile apps with phone gap and webapi
Building data driven mobile apps with phone gap and webapi
Derek Smith10.5K views
Asp.net identity overview by 功豪 魏
Asp.net identity overviewAsp.net identity overview
Asp.net identity overview
功豪 魏1.4K views
Unit testing by Slideshare
Unit testingUnit testing
Unit testing
Slideshare2.2K views
Asp.Net Mvc 5 Identity by Ünal Ün
Asp.Net Mvc 5 IdentityAsp.Net Mvc 5 Identity
Asp.Net Mvc 5 Identity
Ünal Ün485 views
Unit tests for dummies by cpsitgmbh
Unit tests for dummiesUnit tests for dummies
Unit tests for dummies
cpsitgmbh2.3K views
Unit Tests And Automated Testing by Lee Englestone
Unit Tests And Automated TestingUnit Tests And Automated Testing
Unit Tests And Automated Testing
Lee Englestone7.7K views
Unit Testing And Mocking by Joe Wilson
Unit Testing And MockingUnit Testing And Mocking
Unit Testing And Mocking
Joe Wilson7.1K views
sql introduction by eleksdev
sql introductionsql introduction
sql introduction
eleksdev2.2K views
#1 unit testing by eleksdev
#1 unit testing#1 unit testing
#1 unit testing
eleksdev2K views
Understanding Unit Testing by ikhwanhayat
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
ikhwanhayat6.2K views
JUnit- A Unit Testing Framework by Onkar Deshpande
JUnit- A Unit Testing FrameworkJUnit- A Unit Testing Framework
JUnit- A Unit Testing Framework
Onkar Deshpande7.6K views
Unit testing best practices by nickokiss
Unit testing best practicesUnit testing best practices
Unit testing best practices
nickokiss22.3K views
Unit and integration Testing by David Berliner
Unit and integration TestingUnit and integration Testing
Unit and integration Testing
David Berliner23.9K views
Unit Testing Concepts and Best Practices by Derek Smith
Unit Testing Concepts and Best PracticesUnit Testing Concepts and Best Practices
Unit Testing Concepts and Best Practices
Derek Smith31.8K views
UNIT TESTING PPT by suhasreddy1
UNIT TESTING PPTUNIT TESTING PPT
UNIT TESTING PPT
suhasreddy155.4K views
Bring your own authentication to mvc by Shayne Boyer
Bring your own authentication to mvcBring your own authentication to mvc
Bring your own authentication to mvc
Shayne Boyer727 views

Similar to What's New in ASP.NET Identity - TRINUG Sept 2014

Microsofttranscript Jungchanhsieh by
Microsofttranscript JungchanhsiehMicrosofttranscript Jungchanhsieh
Microsofttranscript JungchanhsiehJungchan Hsieh
339 views9 slides
Microsofttranscript jungchanhsieh05182013 by
Microsofttranscript jungchanhsieh05182013Microsofttranscript jungchanhsieh05182013
Microsofttranscript jungchanhsieh05182013Jungchan Hsieh
243 views9 slides
Jungchan hsiehms learning_transcript by
Jungchan hsiehms learning_transcriptJungchan hsiehms learning_transcript
Jungchan hsiehms learning_transcriptJungchan Hsieh
528 views9 slides
Hooking SharePoint APIs with Android by
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidKris Wagner
2.4K views31 slides
Azure Mobile Service - Techdays 2014 by
Azure Mobile Service - Techdays 2014Azure Mobile Service - Techdays 2014
Azure Mobile Service - Techdays 2014Puja Pramudya
658 views23 slides
Supercharge Your Spring Boot Apps! by
Supercharge Your Spring Boot Apps!Supercharge Your Spring Boot Apps!
Supercharge Your Spring Boot Apps!VMware Tanzu
334 views32 slides

Similar to What's New in ASP.NET Identity - TRINUG Sept 2014(20)

Microsofttranscript Jungchanhsieh by Jungchan Hsieh
Microsofttranscript JungchanhsiehMicrosofttranscript Jungchanhsieh
Microsofttranscript Jungchanhsieh
Jungchan Hsieh339 views
Microsofttranscript jungchanhsieh05182013 by Jungchan Hsieh
Microsofttranscript jungchanhsieh05182013Microsofttranscript jungchanhsieh05182013
Microsofttranscript jungchanhsieh05182013
Jungchan Hsieh243 views
Jungchan hsiehms learning_transcript by Jungchan Hsieh
Jungchan hsiehms learning_transcriptJungchan hsiehms learning_transcript
Jungchan hsiehms learning_transcript
Jungchan Hsieh528 views
Hooking SharePoint APIs with Android by Kris Wagner
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with Android
Kris Wagner2.4K views
Azure Mobile Service - Techdays 2014 by Puja Pramudya
Azure Mobile Service - Techdays 2014Azure Mobile Service - Techdays 2014
Azure Mobile Service - Techdays 2014
Puja Pramudya658 views
Supercharge Your Spring Boot Apps! by VMware Tanzu
Supercharge Your Spring Boot Apps!Supercharge Your Spring Boot Apps!
Supercharge Your Spring Boot Apps!
VMware Tanzu334 views
Developing Apps with Azure AD by SharePointRadi
Developing Apps with Azure ADDeveloping Apps with Azure AD
Developing Apps with Azure AD
SharePointRadi790 views
DevSum: Azure AD B2C Application security made easy by Sjoukje Zaal
DevSum: Azure AD B2C Application security made easyDevSum: Azure AD B2C Application security made easy
DevSum: Azure AD B2C Application security made easy
Sjoukje Zaal766 views
Intelligent Cloud Conference: Azure AD B2C Application security made easy by Sjoukje Zaal
Intelligent Cloud Conference: Azure AD B2C Application security made easyIntelligent Cloud Conference: Azure AD B2C Application security made easy
Intelligent Cloud Conference: Azure AD B2C Application security made easy
Sjoukje Zaal154 views
Full Angular 7 Firebase Authentication System by Digamber Singh
Full Angular 7 Firebase Authentication SystemFull Angular 7 Firebase Authentication System
Full Angular 7 Firebase Authentication System
Digamber Singh118 views
MS_Learning_Transcript.PDF by Jacco Maat
MS_Learning_Transcript.PDFMS_Learning_Transcript.PDF
MS_Learning_Transcript.PDF
Jacco Maat26 views
Enabling .NET Apps with Monitoring and Management Using Steeltoe by VMware Tanzu
Enabling .NET Apps with Monitoring and Management Using SteeltoeEnabling .NET Apps with Monitoring and Management Using Steeltoe
Enabling .NET Apps with Monitoring and Management Using Steeltoe
VMware Tanzu1.1K views
CIS 2015- Provisioning IDaas- Using SCIM to Enable Cloud Identity- Pat Patter... by CloudIDSummit
CIS 2015- Provisioning IDaas- Using SCIM to Enable Cloud Identity- Pat Patter...CIS 2015- Provisioning IDaas- Using SCIM to Enable Cloud Identity- Pat Patter...
CIS 2015- Provisioning IDaas- Using SCIM to Enable Cloud Identity- Pat Patter...
CloudIDSummit1.3K views
Developing Apps for SharePoint 2013 by SPC Adriatics
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
SPC Adriatics1.1K views
Microsoft azure training centre in adyar by sasikalaD3
Microsoft azure training centre in adyarMicrosoft azure training centre in adyar
Microsoft azure training centre in adyar
sasikalaD311 views
Microsoft azure training centre in adyar by sasikalaD3
Microsoft azure training centre in adyarMicrosoft azure training centre in adyar
Microsoft azure training centre in adyar
sasikalaD312 views

Recently uploaded

Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Donato Onofri
860 views34 slides
The Path to DevOps by
The Path to DevOpsThe Path to DevOps
The Path to DevOpsJohn Valentino
5 views6 slides
ShortStory_qlora.pptx by
ShortStory_qlora.pptxShortStory_qlora.pptx
ShortStory_qlora.pptxpranathikrishna22
5 views10 slides
Myths and Facts About Hospice Care: Busting Common Misconceptions by
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common MisconceptionsCare Coordinations
6 views1 slide
tecnologia18.docx by
tecnologia18.docxtecnologia18.docx
tecnologia18.docxnosi6702
5 views5 slides
WebAssembly by
WebAssemblyWebAssembly
WebAssemblyJens Siebert
51 views18 slides

Recently uploaded(20)

Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri860 views
Myths and Facts About Hospice Care: Busting Common Misconceptions by Care Coordinations
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common Misconceptions
tecnologia18.docx by nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67025 views
Generic or specific? Making sensible software design decisions by Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Quality Engineer: A Day in the Life by John Valentino
Quality Engineer: A Day in the LifeQuality Engineer: A Day in the Life
Quality Engineer: A Day in the Life
John Valentino6 views
Bootstrapping vs Venture Capital.pptx by Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic12 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller40 views
Copilot Prompting Toolkit_All Resources.pdf by Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana10 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert21 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm15 views
Dapr Unleashed: Accelerating Microservice Development by Miroslav Janeski
Dapr Unleashed: Accelerating Microservice DevelopmentDapr Unleashed: Accelerating Microservice Development
Dapr Unleashed: Accelerating Microservice Development
Miroslav Janeski10 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 views
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated... by TomHalpin9
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
Dev-HRE-Ops - Addressing the _Last Mile DevOps Challenge_ in Highly Regulated...
TomHalpin96 views

What's New in ASP.NET Identity - TRINUG Sept 2014

Editor's Notes

  1. In 1995, Nicholas Negroponte, founder of the MIT media lab, wrote a book called being digital. In this book he talks about the future of technology and how our lives will change as technology takes hold in the digital age. One of the key themes Negroponte discusses is the idea that over time, there would be this big shift from<CLICK>
  2. from atoms – that is tangible, physical objects – to bits – of course meaning digital information. He talks about music shifting from CDs to digital files – got that one right. And he even jokes about how this book itself, made up of atoms, will someday be replaced by its digital version. While now, nearly 20 years later, we see much of his foresight coming true, there is one aspect of technology that we deal with as software developers that really shows that shift, and that is in the area of security.
  3. Nearly everyone in this room probably has a keychain in their pocket. On my keychain I have 2 car keys, a house key, and keys to 2 padlocks. The key chain is a basic tangible – or in Negroponte’s terms, atomic - representation of my ability to access something. If I have the key, I can open the door. Of course, the digital analog to the keychain is the various methods by which we – as software developers – control access and identify users.
  4. The manifestation of that access control is the login form. We’ve gotten very familiar in the modern web age with the login form. The essential login form pattern has 6 elements to it:
  5. The services we interact with have their own logins.
  6. But we’ve even reached a state in today’s technical world where even your grocery store has a login. For us as software developers, the login form itself is the easy part. But what we really worry about is what happens when you click that Sign In button. And that is where the discussion for identity management really begins.
  7. In any given web app or system there are two essential security concepts we have to manage. First we have to know who a user is. That is authentication. Are you who you say you are. We do this through asking for some kind of identifying information. Typically this is the username and password or PIN. Second then, we have to determine if you have permission to use the resource you’re asking to use. This is Authorization. We do this by checking a role, or by querying an Access Control List of some kind.
  8. I like to think of it like a hallway with lots of doors along it. Kind of like in the Matrix. Authentication gets you in the hallway. But authorization determines whether or not you can go in to any of the doors.
  9. Historically then, we used to create our own security models and access control systems. We’d create our own database tables with a field for username and another for password. Then in 2005, Microsoft introduced ASP.NET Membership – which gave us a head start. This system has been around for nearly 10 years. And while it has a few quirks, it is a pretty enduring platform. HOW MANY PEOPLE have either created or currently maintain a system that uses ASP Membership? Membership provided a flexible yet basic mechanism for providing authentication and authorization. And yet in the past 10 years a lot has changed.
  10. This happened. Social media has taken the internet by storm, and with these huge, global user bases, suddenly there was an alternative to using my own local list of users and passwords.
  11. Then Microsoft itself drove the concept further with Azure, OneDrive and Office 365. With these various cloud offerings, now we began to connect our internal infrastructure to the cloud – and we needed our security mechanisms to go with it. Or in the case of Azure – we might just fully outsource our Directory services altogether – so now we need the software we create to use that as its security guard.
  12. So in lieu of these trends, Microsoft released ASP.NET Identity as part of Visual Studio 2013. This is really a ground up re-thinking of how identity management and access control should be implemented, taking in to consideration the state of the modern web and the shortcomings of the ASP.NET Membership system.
  13. Improved Persistence – ASP Membership was oriented around a relational database model, and if you wanted to use an alternate data store it was lots of custom code. Identify uses Entity Framework Code First, making it much easier to modify the schema or the target platform. OWIN - Open Web Interface for .NET – a standard interface between .NET web servers and web applications – has authentication handlers to support pluggable modules. Not dependent on System.Web.
  14. There have actually been 3 releases of the ASP.NET Identity framework. The 1.0 release came with the launch of Visual Studio 2013. Version 2.0 released in Spring of 2014 as a NuGet only release. It included several major updates for account lockout, password confirmation, and 2 factor authentication, as well as some code improvements. Version 2.1 just launched in August and was bundled with Update 3 for VS 2013. It introduced a SignInManager that will allow you to quickly enable or disable the log in behaviors such as 2FA.
  15. File/New project; Explain VS2013 dialog Show Authentication selector Build/run new app Register Login Walkthrough Assemblies Controller Database Object Model
  16. Update Data Schema – need to add fields in new tables for all the fields in old tables. Use SQL script to copy records from old to new tables. Compress password hash+password salt+password format in to PasswordHash table.