2010-06-29 46 views
3

我想知道什麼是「正確」的方式來設置新網站的會員資格。asp.net會員 - sql身份驗證

當我有新的項目,我可以去網站/ ASP.NET配置。在那裏我可以設置表單身份驗證並管理將使用此頁面的所有用戶。我可以在文件夾上製作角色和規則。所有這些信息都保存在表格中,該表格將保存在數據庫App_Data/ASPNETDB.MDF的本地。我試圖做的是,所有這些信息將與主機服務器一起在網站上,但不在本地。

什麼是連接我的網站,我在本地做出這是中央一個MSSQL服務器的最佳方式。我希望能夠進入asp.net配置並管理用戶,但我希望將數據保存在mssql服務器的表中而不保存到aspnetdb.mdf文件中。

我已經使用aspnet_regsql.exe的文件所做的MSSQL服務器上的asp.net成員資格表。

更新: 沒關係,我發現了一個辦法了這一點。 就不得不添加在<ConnectionStrings> <remove name="LocalSqlServer"/> 然後我自己的連接字符串。現在,它的工作......

+0

基本上,我試圖讓網站尋找在其他地方承載的sql服務器中的會員資料數據,但不是本地的aspnetdb.mdf文件。 另外,如果您使用Website/ASP配置工具,它是否總是在本地網站上創建一個新的aspnetdb.mdf? – eski 2010-06-29 20:53:34

回答

4

有在Visual Studio SDK中的命令行的名爲「aspnet_regsql」。它會打開一個窗口,您可以使用它來設置任何SQL Server數據庫中的ASP.NET成員資格,角色和配置文件支持。

對於大多數應用程序,你可能最終會寫自己的會員管理頁面。這並不困難,並且您需要的大多數控件都位於Visual Studio的工具箱中。下面是我在演講給安全食譜:

爲ASP.NET成員資格和角色添加到現有的SQL Server數據庫:

  1. 打開Visual Studio 2008的命令窗口。

    (如果你必須運行SQL在管理員模式下行命令,你將需要 打開在管理員模式下的命令行,然後將路徑設置爲 包括Visual Studio的SDK的可執行文件。)

  2. 運行aspnet_regsql在那個命令窗口中。

  3. 對於將使用數據庫的SQL用戶登錄,添加一個或多個 成員如下提供商的角色:

    aspnet_Membership_FullAccess - 如果用戶可以自己或他人 註冊aspnet_Membership_BasicAccess - 用戶不能註冊自己 aspnet_Membership_ReportingAccess - 入會統計

  4. 對於SQL用戶登錄,添加以下角色提供角色中的一個或多個:

    aspnet_Roles_FullAccess - 創建和刪除角色 aspnet_Roles_BasicAccess - 使用asp。淨角色

  5. 配置使用SQL Server Management Studio中的初始應用程序和角色:

    EXEC aspnet_Applications_CreateApplication @應用程序名稱= '羅斯文',@的applicationID = ''

    EXEC aspnet_Roles_CreateRole @應用程序名稱= '羅斯文', @ ROLENAME = '僱員'

    EXEC aspnet_Roles_CreateRole @應用程序名= '羅斯文',@ ROLENAME = '管理器'

    EXEC aspnet_Roles_CreateRole @ ApplicationName ='Northwind',@ RoleName ='Master'

  6. 實現您的「新用戶」頁面,但不要使用表單授權進行鎖定。 假設您在數據庫中已有 用戶記錄,並且假定您希望將角色添加爲「創建用戶」過程的一部分,您可能需要實施自己的表單。無論如何,請使用此頁面爲ASP.NET 成員創建一組初始用戶;這比試圖使它與存儲過程一起工作更容易。 請參閱示例代碼,瞭解如何在不使用ASP.NET LoginView控件的情況下創建用戶的實現。

    請注意,示例應用程序中的這個「添加用戶」頁面假設了很多 ,這些東西很難做到ASP.NET中的標準Login控件。如果您將用戶 創建爲管理功能,而不是讓用戶自行添加,那麼您可能想要具有多個角色,並且能夠選擇該角色。更重要的是, 您可能已經在您的數據庫中建立了「用戶」表,並且需要將「新用戶」功能與嚮應用程序的用戶表添加記錄功能結合起來。這是用於創建您自己的登錄控件,收集其他數據和 集成創建用戶記錄,ASP.NET成員資格記錄和ASP.NET角色 分配的原型。所有這些都是在環境交易中完成的,所以它們要麼成功地取得 ,要麼作爲單一工作單元失敗。

  7. 創建用戶並將其添加到角色後,您可以設置表單身份驗證 並鎖定需要授權的頁面。備註:

    a。不要求對頂級目錄進行身份驗證。應該可公開訪問此級別 的頁面。 b。在頁面需要驗證的每個子目錄中添加一個web.config。 通常,設置身份驗證級別將是這些文件的唯一功能 。