我一直使用ASP.NET會員供應商的方式,它已經很好地服務於我的基本目的。我意識到的一件事是,它將一堆Stored Procs等安裝到數據庫中。與EF的ASP.NET會員供應商
是否存在ASP.NET成員資格的EF實現?還是會有?
我有一個即將到來的項目,我需要通過一些GUI來擴展成員提供者的角色和授權功能。此外,每次我使用這個,我有兩個連接字符串在我的web.config一個DbContext一個應用程序服務特別是成員資格提供程序。爲什麼我不能只有一個?
我一直使用ASP.NET會員供應商的方式,它已經很好地服務於我的基本目的。我意識到的一件事是,它將一堆Stored Procs等安裝到數據庫中。與EF的ASP.NET會員供應商
是否存在ASP.NET成員資格的EF實現?還是會有?
我有一個即將到來的項目,我需要通過一些GUI來擴展成員提供者的角色和授權功能。此外,每次我使用這個,我有兩個連接字符串在我的web.config一個DbContext一個應用程序服務特別是成員資格提供程序。爲什麼我不能只有一個?
有貴賓會員管理系統的MVC3你可以看看或添加到您的項目。
可以玩弄他們,看看他們是如何工作的。一旦你知道去哪裏看,你就可以創建你自己的。
Membership Class和MembershipUser Class保存所有的用戶信息。例如,要取消批准,你可以做這樣一個用戶:
MembershipUser user = Membership.GetUser("userName");
user.IsApproved = false;
Membership.UpdateUser(user);
如果你想刪除一個用戶,你可以使用Membership.DeleteUser("userName");
。
Roles Class具有所有角色相關的信息。如Roles.GetUsersInRole("roleName")
將返回角色roleName
中所有用戶的列表。 Roles.CreateRole("roleName");
將創建角色,並且Roles.DeleteRole("roleName");
將刪除角色。
如果您需要的不僅僅是默認值,您可以查看Implementing a Membership Provider。
只要有兩個數據庫,這是沒有必要的。您可以使用Aspnet_regsql
工具將所有ASP.NET表,存儲過程等添加到數據庫。看看Installing the Database using Aspnet_regsql.exe。這將允許您只有一個數據庫,因此您可以刪除您的Web.Config
中的asp.net連接字符串,然後更改AspNetSqlMembershipProvider
或其他人,以將連接字符串用於主數據庫。
對於ASP.NET成員資格提供程序和實體框架中的角色實現,需要導入EDMX文件中的ASPNETDB(成員資格數據庫)的所有視圖。例如vw_aspnet_MembershipUsers,vw_aspnet_Roles,vw_aspnet_UsersInRoles,vw_aspnet_Users等...
然後成員資格將通過EF運行。所以,你可以使用下面的函數來提供GUI。
這裏是控制器代碼。例如
// GET: /Membership/Edit/5
public ActionResult Edit(Guid id)
{
var recordToEdit = (from r in _db.vw_aspnet_Users where r.UserId == id select r).First();
return View(recordToEdit);
}
public ActionResult Index()
{
return View(_db.vw_aspnet_MembershipUsers.ToList());
}
現在,如何將ASPNETDB合併到現有數據庫,以便在web.config中只創建一個連接字符串。 (你的問題:爲什麼我不能只有一個?)
這也可以使用下面的步驟。
ASPNETDB.MDF是成員資格提供程序數據庫,用於存儲和檢索數據庫中的成員資料 ,這裏我們將看看如何創建成員資格提供程序數據庫。用於創建Aspnetdb.mdf的命令是ASPNET_RegSQL.EXE
1.開始 - >程序 - > Microsoft Visual Studio 2005-> Visual Studio工具 - > Visual Studio 2005命令提示符。在Visual Studio 2005命令提示符
標題:」歡迎到Asp.Net Sql Server的嚮導」,嚮導會顯示輸入aspnet_regsql.exe的。這裏需要點擊Next
接下來會出現一個帶有「Select Setup Option」的嚮導。現在我們需要選擇安裝選項「爲應用程序目的配置sql server是默認的」。選擇你想要的和下一個。
將顯示一個窗口「選擇Sql Server數據庫」現在我們需要選擇我們的SQL Server數據庫。這裏需要設置服務器,認證類型和數據庫。 如果選擇默認名稱「aspnetDb.mdf」將被選中。如果你想修改現有的數據庫選擇該數據庫。
5.現在確認將顯示標題爲「確認您的設置」。現在檢查servername和數據庫名稱,然後單擊下一步。
在您需要選擇現有的數據庫以上步驟仔細,有些表(11+),意見,成員和角色的存儲過程將被添加到現有的數據庫....
享受它....謝謝你...
通用提供商是你在找什麼:http://nuget.org/packages/Microsoft.AspNet.Providers.Core
這些是使用EF代碼第一次5內部實現,我們將進行內部DBContexts公衆一旦我們確認一切正常順利進行。
如果您首先使用DbContext代碼,該如何做到這一點? – DarthVader
對於Code First方法,可以使用Database上的ExecuteSqlCommand方法將非查詢命令發送到數據庫。 context.Database.ExecuteSqlCommand(「」); –
對sql查詢或存儲過程不感興趣。誰在使用這些? – DarthVader