菜鳥來的,剛接觸mvc,看到mvc5上默認帶有identity身份驗證的東西,公司用的oracle數據庫,便想着東西能不能支持oracle數據庫,折騰了半天弄出下面的東西來,有些東西可能不太準確,望大神斧正,html
工具git
1 vs2013github
2 oracle 10.2sql
3 oadc 12c (下載地址 http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html)數據庫
一. 獲取 AspNet.Identity.OracleProvidermvc
這玩意是別個拓展Microsoft.AspNet.Identity用來支持orcle的身份驗證的程序包,NuGet直接搜索能夠獲得,建議直接去github直接下載源碼方便學習和拓展oracle
下載下來後建議清理下,去掉多餘的東西,方便之後用,項目裏面的東西比較簡單本身看看就懂了ide
二 數據庫建立函數
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 運行下試試,註冊,登陸已經但是使用了