ASP.NET MVC5+ORACLE 身份认证

菜鸟来的,刚接触mvc,看到mvc5上默认带有identity身份验证的东西,公司用的oracle数据库,便想着东西能不能支持oracle数据库,折腾了半天弄出下面的东西来,有些东西可能不太准确,望大神斧正,

工具

1 vs2013

2 oracle 10.2

3 oadc 12c (下载地址 http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html)

一. 获取 AspNet.Identity.OracleProvider

这玩意是别个拓展Microsoft.AspNet.Identity用来支持orcle的身份验证的程序包,NuGet直接搜索可以得到,建议直接去github直接下载源码方便学习和拓展

下载下来后建议清理下,去掉多余的东西,方便以后用,项目里面的东西比较简单自己看看就懂了

二 数据库创建

1 试试嘛,所以随便建了个用户

2 导入建表语句,AspNet.Identity.OracleProvider项目下面OracleIdentity.sql,放到plsql下执行下,创建5张表

三.添加到项目

1 新建MVC5项目(个人身份认证)

2 将AspNet.Identity.OracleProvider项目添加到新建的解决方案中(我是这么干的,以后可能会拓展里面的东西,比如IdentityUser用户类中添加用户相关信息,神有更好不用的修改这个项目的的方法,请教我)

四 项目修改

数据库方面

1 连接串修改 <add name="DefaultConnection" connectionString="Data Source=orcl; User ID = cc; Password = cc" providerName="Oracle.ManagedDataAccess.Client;provider" />

2 添加引用 Oracle.ManagedDataAccess

identity方面

1 转到AccountController下,可以看到AccountController 默认构造函数调用的是using Microsoft.AspNet.Identity.EntityFramework,这个我们用不上,那我们先把这个引用给删掉,添加using AspNet.Identity.OracleProvider;这个引用,并修改代码,如下

public AccountController()

: this(new UserManager<IdentityUser>(new UserStore(new OracleDataContext())))

{

}

2 替换类中所有的ApplicationUser为IdentityUser

3 运行下试试,注册,登录已经可是使用了