2011-11-29 19 views
1

當我瞭解ASP .NET Membership內置框架後,我決定這個東西幾乎適合我。但也有幾個特性和編輯我想有:定製ASP .NET會員

  1. 兩步註冊:用戶後鍵入所有帳戶信息,驗證字母應該發送到輸入電子郵件。在驗證電子郵件地址之前,無法登錄(應出現一些消息,告知用戶在允許使用帳戶之前需要驗證電子郵件)。

  2. 會員DB計劃:

    • 沒有必要存儲用戶的問題恢復密碼。
    • 非法登錄嘗試是不必要的。
    • 默認aspnet_前綴很可能會改變。
    • ...等等

因爲我知道我可以使用來自SqlMembershipProvider派生自己的類中的第一項。我對嗎?你能否指出我在一些可以學習的好職位?

對於第二個改進它似乎是一個麻煩。在this book我已閱讀,也不是那麼容易:

•內置SQL存儲供應商需要在數據庫中,如果你有一個域模型的觀念很強或 感覺有點髒直接進入在其他地方使用特定的ORM技術 。

•內置的SQL存儲提供程序要求特定的數據模式 ,它不容易與應用程序的其餘數據 模式共享。

回答

1

我遇到的最大的問題是子類化SqlMembershipProvider是它沒有給你連接字符串。你必須破解這個類,才能獲得大多數現代登錄系統工作的有用信息。

我不確定數據庫表的名稱 - 我不認爲這是由SqlMembershipProvider控制,但實際上是在ASP.NET安裝程序類中。

我的建議是從頭創建自己的建議,並使用內置的FormsAuthentication助手。與需要遵守供應商的煩惱時間相比,這不是一項大任務。在完成Membership Provider路徑後,我使用Roadkill做了這個工作,並發現它是一個死路,尤其是對於Active Directory支持。

+0

您好像打破了我對構建成員範圍任務機制的懷疑。 – kseen

+0

@ kseen最大的p.i.t.a.是你不能改變你的用戶名http://stackoverflow.com/questions/1001491/is-it-possible-to-change-the-username-with-the-membership-api/ –

+0

所以你建議我做我自己的提供者將從[MembershipProvider類](http://msdn.microsoft.com/ru-ru/library/system.web.security.membershipprovider.aspx)派生。一切正常嗎? – kseen