原因:我發現其實手動加入Identity功能的機率實在是蠻高的,每次做一次就忘記一次所以就寫一篇來幫助自己快速回憶跟製作。
新增一個有驗證功能的MVC專案
在需要手動加入Identity 專案參考點擊右鍵
點擊 [管理NuGet套件]
搜尋並且加入三個套件
Microsoft.AspNet.Identity.EntityFramework
Microsoft.AspNet.Identity.Owin.zh-Hant (繁體中文)
Microsoft.Owin.Host.SystemWeb
將新增的專案以下檔案照著原始位置搬移過去
App_Start>IdentityConfig.cs
App_Start>Startup.Auth.cs
AccountController>AccountController.cs (可以依照所需要搬移就好)
AccountController>ManageController.cs (可以依照所需要搬移就好)
Models>全部內容(可以依照所需要搬移就好)
Views>全部內容(可以依照所需要搬移就好)
Startup.cs
PS.注意搬移過去的檔案記得要改namespace 和 using 位置 ex:[你的方案名稱].Controllers
<connectionStrings>
<add name="BlogconnectionStrings" connectionString="Data Source=[連線字串];Initial Catalog=[資料庫名稱];Persist Security Info=True;user ID=[連線帳號];password=[連線密碼]" providerName="System.Data.SqlClient" />
</connectionStrings>
|
接下來就是要去設定連線字串,可是像我本來就已經是使用 EntityFramework ,連線字串的名稱有改變過,所以如果你跟我一樣的話就去更換Identity的連線名稱位置在 Models>IdentityModels.cs 將他改成現在所使用的連線名稱,像是我的web.config > connectionStrings Name 是使用 BlogconnectionStrings 我就將此處改成 BlogconnectionStrings。
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=[連線字串];Initial Catalog=[資料庫名稱];Persist Security Info=True;user ID=[連線帳號];password=[連線密碼]" providerName="System.Data.SqlClient" />
</connectionStrings>
|
那如果你之前沒有使用EntityFramework就可以參考新增出來的Identity範本裡面的web.config來將連線字串新增上去。
之後就大功告成囉~可喜可賀可喜可賀~
public class ApplicationUser : IdentityUser
{
public async Task GenerateUserIdentityAsync(UserManager manager)
{
// 注意 authenticationType 必須符合 CookieAuthenticationOptions.AuthenticationType 中定義的項目
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// 在這裡新增自訂使用者宣告
return userIdentity;
}
}
沒有留言:
張貼留言