簡體   English   中英

EF的ASP.NET成員資格提供者

[英]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

  1. 將顯示標題為“歡迎使用Asp.Net Sql Server向導”的向導。 這里需要單擊“下一步”

  2. 接下來將顯示帶有“選擇安裝選項”的向導。 現在我們需要選擇安裝選項“為應用程序配置sql server是默認的”。 選擇你想要的和下一個。

  3. 將顯示一個帶有“選擇Sql Server數據庫”的窗口現在我們需要選擇我們的sql server數據庫。 這里需要設置服務器,身份驗證類型和數據庫。 如果選擇,將選擇默認名稱“aspnetDb.mdf”。 如果要修改現有數據庫,請選擇該數據庫。

5.現在將顯示標題為“確認您的設置”的確認。 現在檢查servername和數據庫名稱,然后單擊下一步。

  1. 將顯示“已創建或修改數據庫”的窗口。 現在單擊Finish

在上面的步驟中要小心,您需要選擇現有的數據庫,一些表(11 +),視圖,成員和角色的存儲過程將添加到您現有的數據庫....

享受它....謝謝......

有MVI3的gui會員管理系統,您可以查看或添加到您的項目。

你可以和他們一起玩,看看他們是如何工作的。 一旦你知道在哪里看就很簡單,你可以創建自己的。

Membership ClassMembershipUser 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM