NoSQL[Solution] ASP.NET Identity(1) 快速入门

本节以介绍:

  • ASP.NET
    Identity简介
  • 疾入门
  • 扩展

 

ASP.NET Identity简介

身份管理于ASP.NET中是老丰富世间了,ASP.NET
开发团队已经学会了森于客户的汇报。

用户更不欣赏以每个网站还单身登记一个账号,用户期待经过社交平台的账号,开发人员也意在这样。

乘胜web的开销,单元测试页越来越重要。在2008年,Aspnet添加了MVC,部分因是以帮扶开发人员构建单元测试。开发人员希望身份管理为堪单元测试。

 

ASP.NET Identity遵循以下几点:

1.一个位系。

可以用在ASP.NET所有框架下,例如ASP.NET MVC,Web Forms,Web Pages,Web
API以及SignalR。

 

2.配备用户数量

足决定用户的布信息。例如,启用系统来囤程序中登记账号的用户输入的出生日期。

 

3.数据库

默认情况下,ASP.NET Identity将积存所有用户数据,通过EF
CodeFirst来改进持久性机制。这样虽可知自在的跳数据库,如SharePoint,Azure
Storage,NoSQL databases。

 

4.单元测试

ASP.NET Identity可以使您的web程序来再多的单元测试。

 

5.供角色作用

发出一个role provider方便你轻轻松松的创造角色,如“Admin”和向角色添加用户。

 

6.基为声明

ASP.NET
Identity支持因声明的身份验证,其中用户的地位作同样组声明,声明允许开发者描述用户之身份,角色至少应bool值(会员或非会员),声明可以蕴涵大量之用户信息与会员信息。

 

7.社交账号

好老方便的以社交插件并进来。如微软账号,Facebook等,和于公的次序中存储特定的用户数据。

 

8.平移目录

9.OWIN

兹,ASP.NET
Identity基于OWIN中间件,可以当其余依据OWIN的主机及采取。不依赖于System.Web程序集。

ASP.NET
Identity用OWIN Authentication用来登入登出。使用CookieAuthentication来操作。

 

10.Nuget

由此Nuget来保管ASP.NET Identity,这样bug修复,更新更快。

 

霎时入门

以本例中,我们会证明项目模板如何以 ASP.NET 身份来补加效果来注册、
登录和取消用户。

1.开立MVC程序with个人身份

NoSQL 1

 

2.创立的项目被会起3独程序用于ASP.NET Identity.

  • Microsoft.AspNet.Identity.EntityFramework
    ASP.NET Identity使用EF CodeFirst持久化技术
  • Microsoft.AspNet.Identity.Core
    ASP.NET Identity核心接口. 这个次集实现了不同之储存库存储Azure
    Table Storage, NoSQL databases等等.
  • Microsoft.AspNet.Identity.OWIN
    透过OWIN Cookie Authentication middlewar 管理Cookie来管理登入登出。

 

3.开立用户

运行品种,点击注册链接,注册用户。当填完登记信息后,点击注册按钮时。会履以下Action。

[HttpPost]
        [AllowAnonymous]
        [ValidateAntiForgeryToken]
        public async Task<ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser() { UserName = model.UserName };
                var result = await UserManager.CreateAsync(user, model.Password);
                if (result.Succeeded)
                {
                    await SignInAsync(user, isPersistent: false);
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    AddErrors(result);
                }
            }

            // 如果我们进行到这一步时某个地方出错,则重新显示表单
            return View(model);
        }

新民主主义革命区域用来创造用户,粉色区域用来报到用户。以下也记名用户方法。

        private async Task SignInAsync(ApplicationUser user, bool isPersistent)
        {
            AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
            var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
            AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity);
        }

赤区域创建一个位声明,声明包括用户拥有宣称信息,包括用户角色。你可于定义声明内容。

粉色区域通过OWIN登录系统。(生成Cookie)

 

4.登出

点击上出按钮,会接触发之下Action

        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult LogOff()
        {
            AuthenticationManager.SignOut();
            return RedirectToAction("Index", "Home");
        }

辛亥革命区域通过OWIN的FormsAuthentication登出体系。

 

 

扩展

1.ASP.NET Identity组件

NoSQL 2

2.表结构

动用ASP.NET Identity,会自动生成以下几张表。

NoSQL 3

 

代码下载:点击下载

本文作者:Never、C

正文链接:http://www.cnblogs.com/neverc/p/4727024.html

Identity:https://github.com/aspnet/Identity

网站地图xml地图