[英]ASP.NET membership provider with EF
我一直在使用ASP.NET成員資格提供程序,它一直很好地服務於我的基本目的。 我意識到的一件事是,它將一堆Stored Procs等安裝到數據庫中。
是否有ASP.NET成員資格的EF實現? 還是會有?
我有一個即將到來的項目,我需要通過一些GUI擴展成員資格提供者的功能和角色和授權。
此外,每次我使用它時,我在web.config中有兩個連接字符串,一個用於DbContext,一個用於Application服務,特別是對於Membership provider。 為什么我不能只有一個?
您正在尋找通用提供商: http : //nuget.org/packages/Microsoft.AspNet.Providers.Core
這些是在內部使用EF Code First 5實現的,一旦我們確保一切順利進行,我們將公開內部DBContexts。
對於ASP.NET成員資格提供程序和Entity Framework中的Roles實現,需要在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.Start-> Programs-> Microsoft visual studio 2005-> visual studio tools-> Visual Studio 2005命令提示符。 在Visual Studio 2005命令提示符下鍵入ASPNET_RegSQL.EXE
將顯示標題為“歡迎使用Asp.Net Sql Server向導”的向導。 這里需要單擊“下一步”
接下來將顯示帶有“選擇安裝選項”的向導。 現在我們需要選擇安裝選項“為應用程序配置sql server是默認的”。 選擇你想要的和下一個。
將顯示一個帶有“選擇Sql Server數據庫”的窗口現在我們需要選擇我們的sql server數據庫。 這里需要設置服務器,身份驗證類型和數據庫。 如果選擇,將選擇默認名稱“aspnetDb.mdf”。 如果要修改現有數據庫,請選擇該數據庫。
5.現在將顯示標題為“確認您的設置”的確認。 現在檢查servername和數據庫名稱,然后單擊下一步。
在上面的步驟中要小心,您需要選擇現有的數據庫,一些表(11 +),視圖,成員和角色的存儲過程將添加到您現有的數據庫....
享受它....謝謝......
有MVI3的gui會員管理系統,您可以查看或添加到您的項目。
你可以和他們一起玩,看看他們是如何工作的。 一旦你知道在哪里看就很簡單,你可以創建自己的。
Membership Class和MembershipUser Class包含所有用戶信息。 例如,要取消批准用戶,您可以執行以下操作:
MembershipUser user = Membership.GetUser("userName");
user.IsApproved = false;
Membership.UpdateUser(user);
如果要刪除用戶,可以使用Membership.DeleteUser("userName");
。
角色類具有所有角色相關信息。 與Roles.GetUsersInRole("roleName")
將返回角色roleName
中所有用戶的列表。 Roles.CreateRole("roleName");
將創建一個角色,和Roles.DeleteRole("roleName");
將刪除一個角色。
如果您需要的不僅僅是默認值,您可以查看實施成員資格提供程序 。
至於擁有兩個數據庫,這不是必需的。 您可以使用Aspnet_regsql
工具將所有ASP.NET表,存儲過程等添加到數據庫中。 看一下使用Aspnet_regsql.exe安裝數據庫 。 這將允許您只有一個數據庫,因此您可以刪除Web.Config
中的asp.net連接字符串,然后更改AspNetSqlMembershipProvider
AspNetSqlProfileProvider
AspNetSqlRoleProvider
以及其他人,以使用連接字符串到主數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.