标签:
完成这个指南后,你将有一个使用驻留在Azure上的MySQL数据库的ASP.NET Identity的MVC应用工程。
你可以从AspNet.Identity.MySQL (CodePlex)下载完整的MySQL 存储提供程序代码。
在这个指南中你将完成:
1、在Azure上创建MySQL数据库
2、在MySQL中创建ASP.NET Identity表结构
3、创建一个MVC应用并且配置它使用MySQL提供程序
4、运行应用
本文不包含简介ASP.NET Identity的结构和如何实现自定义存储提供程序的说明。这些信息请参看自定义ASP.NET Identity(一)- 自定义ASP.NET Identity存储提供程序。
回到之前创建MySQL存储提供程序的步骤,让我们看看构成存储提供程序的这些类。你需要这些类来管理数据库操作并且应用程序调用它们来管理用户和角色。
1、登录到Azure Portal.
2、点击 页面上的 +NEW 按钮,并且选择STORE。
3、在 Choose and Add-on 向导中, 选择 ClearDB MySQL Database 并且点击对话框按钮的右侧的下一步
4、默认是Free计划,修改Name为IdentityMySQLDatabase。选择区域后点击下一步。
5、点击复选框后完成。
6、数据库创建完成之后, 你可以从管理门户的ADD-ONS标签对数据库进行管理。
7、点击在这个页面的底部的CONNECTION INFO可以查看链接信息。
8、点击复制按钮复制链接字符串并且将其应用到你的MVC应用中。
如果需要, 安装 Visual Studio Express 2013 for Web 或者 Visual Studio 2013 Update 2。
在New ASP.NET Project 对话框,选择MVC模板,保持默认选项不变 (包含:Individual User Accounts 作为身份验证方法) 然后点击 OK。
在解决方案管理器中,右键点击IdentityMySQLDemo工程,选择 Manage NuGet Packages。在查找文本框中输入Identity.EntityFramework。在结果列表中选择这个包,点击 Uninstall。你会被提示卸载依赖包EntityFramework。点击是,我们在这个应用中将不再使用这个包。
using Microsoft.AspNet.Identity.EntityFramework;
using AspNet.Identity.MySQL;
public class ApplicationDbContext : MySQLDatabase { public ApplicationDbContext(string connectionName) : base(connectionName) { } public static ApplicationDbContext Create() { return new ApplicationDbContext("DefaultConnection"); } }
var manager = new ApplicationUserManager( new UserStore<ApplicationUser>( context.Get<ApplicationDbContext>() as MySQLDatabase));
<add name="DefaultConnection" connectionString="Database=IdentityMySQLDatabase; Data Source=<DataSource>;User Id=<UserID>;Password=<Password>" providerName="MySql.Data.MySqlClient" />
在应用中怎样启用其它的身份验证方法, 请参考 Create an ASP.NET MVC 5 App with Facebook and Google OAuth2 and OpenID Sign-on.
学习如何在你的数据库中使用OAuth和设置限制用户访问你的应用中的角色,请参看 Deploy a Secure ASP.NET MVC 5 app with Membership, OAuth, and SQL Database to Azure.
自定义ASP.NET Identity(三)- 实现自定义MySQL ASP.NET Identity存储提供程序
标签:
原文地址:http://www.cnblogs.com/abies/p/4560415.html