我要嘗試解決這個會員系統1個小一步來......MVC 3基本自定義成員
所以,讓我們說:
步驟1,創建一個SQL數據庫和在該數據庫中我有一個用戶表,非常簡單,看起來像這樣:
Users
UserID int, identity, primary key
UserName nvarchar(25)
UserPassword nvarchar (25)
UserEmail nvarchar (75)
步驟2,創建一個新的ASP.NET MVC3 Web應用程序
第3步,我選擇互聯網應用templat Ë與Razor視圖引擎,並檢查使用HTML 5語義標記
第4步,我增加一個ADO.NET實體數據模型
第5步,在實體數據模型嚮導,我選擇從數據庫
來生成第6步,我選擇我的數據連接,並選擇在Web.Config中
步驟7,保存實體連接設置,在實體數據模型嚮導==>選擇您的數據庫對象,我把表一檢查,在「生成對象名稱多重化或單數化」和「在模型中包含外鍵列」中保留缺省檢查單擊Finish
步驟8,我生成解決方案
第9步,我右鍵單擊該.edmx文件並選擇「添加代碼生成項...」
第10步,我添加了一個新的ADO.NET DbContext生成器(然後創建所有表模型)
好吧,所以這是我不知道如何進一步使用內置的帳戶/成員資格系統與我的用戶表。就目前而言,無論如何,對於這個特定的項目,我不需要角色和什麼,只是[授權]功能...
那麼,究竟是什麼,逐字符合,我需要做的當用戶訪問網站並註冊或登錄時,應用程序使用我的用戶表?最終,當用戶登錄時,[授權]裝飾將適用於我的用戶羣。
編輯:感謝olivehour ...下面的變化,增加真心,讓這項工作...
步驟10後:(旁註:從用戶表中刪除的userPassword,你將不需要它)
步驟11,運行aspnet_regsql.exe工具,將ASP.NET的表添加到您的數據庫。
第12步,打開您的Web.config文件,從您的EntityFramework connectionString中只複製「數據源」信息,然後粘貼並使用EntityFramework的「ApplicationServices」connectionString「數據源」替換。
步驟13,在解決方案資源管理器中,右鍵單擊Controller目錄並添加控制器。此時繼續並添加您的UserController
步驟14,在AccountController中的[HttpPost]註冊操作方法中,在「if(createStatus == MembershipCreateStatus。成功)」語句,添加以下內容:
TheNameOfYourEntities db = new TheNameOfYourEntities();
User user = new TheNameOfYourProject.User();
user.UserName = model.UserName;
user.UserEmail = model.Email;
db.Users.Add(user);
db.SaveChanges();
步驟15,生成解決方案,全部保存,運行
這個想法曾經一度讓我想起這樣做,但我擔心它會被認爲是黑客,但我越想它,其他任何方式都會如此一個黑客,我會試試看。 – 2012-01-27 13:34:13
這不是黑客攻擊,而且imho遠比將你的appdb捆綁到成員資格提供者或嘗試密碼加密更清潔。在SSO世界中,將登錄外包給提供商變得司空見慣,有時您無法控制。在這些情況下,您不會將密碼信息存儲在應用程序數據庫中。 – danludwig 2012-01-27 14:46:07
感謝olivehour,請查看上面的解決方案,我使用您的建議實施。 – 2012-01-27 15:00:45