安装 AspNet.Identity 程序包

Microsoft.AspNet.Identity.Core 包含 ASP.NET Identity 核心接口
Microsoft.AspNet.Identity.EntityFramework ASP.NET Identity 的实体框架提供程序

添加用户注册代码

var userStore = new UserStore<IdentityUser>();
var manager = new UserManager<IdentityUser>(userStore); var user = new IdentityUser() { UserName = ... };
IdentityResult result = manager.Create(user, ...); if (result.Succeeded)
{
}
else
{
}
  • UserStore 实现以下在 ASP.NET Identity Core 中定义的接口:

    • IUserStore,公布用户管理的基本 api
    • IUserLoginStore,此接口将用户映射到 login 提供程序,例如 Google, Facebook, Twitter
    • IUserClaimStore 保存声明。
    • IUserRoleStore  此接口将用户映射到角色
  • IdentityUser 实现在 ASP.NET Identity Core 中定义的 IUser 接口,IUser 接口表示用户。
  • UserManager 公布向 UserStore 保存更改的 API。
  • IdentityResult 在 ASP.NET Identity Core 中定义,表示操作结果。

类间关系如图:

aaarticlea/png;base64,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" alt="" />

安装 Owin 程序包

Microsoft.AspNet.Identity.Owin 包含一组 OWIN 扩展类,用于管理和配置 OWIN 身份验证中间件,这些类由 ASP.NET Identity.Core 程序包使用。
Microsoft.Owin.Host.SystemWeb 包含一个 OWIN 服务器,使基于 OWIN 的应用程序可在 IIS 集成管道内运行。

添加 OWIN 启动类和身份验证配置类

[assembly: OwinStartup(typeof(Startup))]

public partial class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
Provider = new CookieAuthenticationProvider
{
// 当用户登录时使应用程序可以验证安全戳。
// 这是一项安全功能,当你更改密码或者向帐户添加外部登录名时,将使用此功能。
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
}
}); }
}

OwinStartupAttribute 用于配置启动类,默认情况下会调用名为 Configuration 的方法,也可通过 MethodName 指定不同的方法名。

修改用户注册代码

使用户在注册后自动登录

var userStore = new UserStore<IdentityUser>();
var manager = new UserManager<IdentityUser>(userStore); var user = new IdentityUser() { UserName = ... };
IdentityResult result = manager.Create(user, ...); if (result.Succeeded)
{
var authenticationManager = this.HttpContext.GetOwinContext().Authentication;
var userIdentity = manager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
authenticationManager.SignIn(new AuthenticationProperties() { }, userIdentity);
}
else
{
}

ASP.NET Identity 和 OWIN Cookie Authentication 是基于声明的,因此需要为用户生成 ClaimsIdentity 对象。ClaimsIdentity 包含用户所有的声明信息,例如,用户属于哪些角色。可以在这里为用户添加更多声明。通过调用 AuthenticationManager.SignIn 方法使用户登录。IAuthenticationManager 接口在 OWIN 中定义。这段代码会产生一个 cookie,类似于 Forms 身份验证的 FormAuthentication.SetAuthCookie 方法。

添加登录代码

var userStore = new UserStore<IdentityUser>();
var userManager = new UserManager<IdentityUser>(userStore);
var user = userManager.Find(...); if (user != null)
{
var authenticationManager = this.HttpContext.GetOwinContext().Authentication;
var userIdentity = userManager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie); authenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = false }, userIdentity);
// 登录成功
}
else
{
// 登录失败
}

GetOwinContext 是一个扩展方法,在 Microsoft.Owin.Host.SystemWeb 程序集中定义,它返回 IOwinContext 对象,OwinContext 公布 IAuthenticationManager 属性,表示对本次请求可用的身份验证中间件。

添加注销代码

var authenticationManager = this.HttpContext.GetOwinContext().Authentication;
authenticationManager.SignOut();

原文地址:http://www.asp.net/identity/overview/getting-started/adding-aspnet-identity-to-an-empty-or-existing-web-forms-project

向空项目添加 ASP.NET Identity的更多相关文章

  1. ASP.NET MVC 随想录——开始使用ASP.NET Identity,初级篇

    在之前的文章中,我为大家介绍了OWIN和Katana,有了对它们的基本了解后,才能更好的去学习ASP.NET Identity,因为它已经对OWIN 有了良好的集成. 在这篇文章中,我主要关注ASP. ...

  2. 【ASP.NET Identity系列教程(一)】ASP.NET Identity入门

    注:本文是[ASP.NET Identity系列教程]的第一篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序 ...

  3. ASP.NET MVC 随想录——开始使用ASP.NET Identity,初级篇(转)

    ASP.NET MVC 随想录——开始使用ASP.NET Identity,初级篇   阅读目录 ASP.NET Identity 前世今生 建立 ASP.NET Identity 使用ASP.NET ...

  4. 转载 ASP.NET MVC中使用ASP.NET Identity

    转载原地址: http://blog.jobbole.com/90695/ 在之前的文章中,我为大家介绍了OWIN和Katana,有了对它们的基本了解后,才能更好的去学习ASP.NET Identit ...

  5. ASP.NET Identity 系列笔记目录

    编写目的 混迹博客园已经有一段时间了,一直都是在学习各路大神的文章,自己却没有做出什么贡献,所以觉得应该写一点点内容和大家一起分享.但是本人实在才疏学浅,有心无力啊!正好最近在学习 Microsoft ...

  6. ASP.NET Identity 一 (转载)

    来源:http://www.cnblogs.com/r01cn/p/5194257.html 注:本文是[ASP.NET Identity系列教程]的第一篇.本系列教程详细.完整.深入地介绍了微软的A ...

  7. ASP.NET Identity & OWIN 学习资料

    有关 ASP.NET Identity 的更多细节: http://www.asp.net/identity 从一个空项目中添加 ASP.NET Identity 和 OWIN 支持: http:// ...

  8. ASP.NET Identity系列教程-2【Identity入门】

    https://www.cnblogs.com/r01cn/p/5177708.html13 Identity入门 Identity is a new API from Microsoft to ma ...

  9. asp.net identity的学习记录

    # identity数据库 ## 创建空数据库 交给ef管理 ### 添加asp.net identity包 ``` Install-Package Microsoft.AspNet.Identity ...

随机推荐

  1. iOS-C基础

    iOS开发系列--C语言之基础知识 概览 当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,这个IOS系列计划从几个角度去说IOS开发: C语言 OC基础 IOS开发(i ...

  2. Android开发-之认识palette

    Android开发中,Google工程师已经给我们封装好了很多的按钮,使得我们在开发中非常的方便和便捷. 那么今天就来认识一下常用的按钮,那么在之前的课程中我已经详细讲过了Button按钮,那么这里就 ...

  3. 解读sencha touch移动框架的核心架构(一)

    sencha的前身就是Extjs了,sencha 框架是世界上第一个基于HTML5的Mobile App框架 那么何谓框架,传统软件工程对于库和框架的区分主要着眼于对应用运行流程的控制权,框架提供架构 ...

  4. JSON和JS对象之间的互转

    1. jQuery插件支持的转换方式 $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2. 浏览器支持的 ...

  5. 让低版本的 Android 项目显示出 Material 风格的点击效果

    每天都被不同的需求纠缠的生活是幸福而又不幸的,这不我们家亲爱的设计师们又让我们在低版本的 Android 平台上实现一下类似于 Material Design 的点击效果. 虽然大家都知道 Mater ...

  6. OPEN CASCADE Multiple Variable Function

    OPEN CASCADE Multiple Variable Function eryar@163.com Abstract. Multiple variable function with grad ...

  7. Bootstrap Metronic 学习记录(一)简介

    1.简介 是一个基于Bootstrap 3.x的高级管理控制面板主题.Bootstrap Metronic - 是一个完全响应式管理模板.基于Bootstrap3框架.高度可定制的,易于使用.适合从小 ...

  8. tn文本分析语言(二) 基本语法

    tn是desert和tan共同开发的一种用于匹配,转写和抽取文本的语言.解释器使用Python实现,代码不超过1000行. 本文主要介绍tn的基本语法.高级内容可以参考其他篇章.使用这样的语法,是为了 ...

  9. iOS开发之SQLite-C语言接口规范(二) —— Prepared Your SQL Statements

    在<SQLite的C语言接口规范(一)>中介绍了如何去连接打开数据库,本篇博客就介绍如何操作数据库,本篇主要给出了如何执行数据库查询语句(Select), 然后遍历结果集.本篇博客就直接使 ...

  10. 如何 判断 设备 是否 连接 上 了 wifi

    这里,我给出一个函数 public boolean sale_connect_check(WifiConfiguration wcg,Context context) { boolean judge_ ...