我在一個小團隊的開發人員的工作,並沒有達成一致的核心任務,其中一個是成員資格提供商的最佳方法的共識。現在我不能確定這是否涉及到缺乏替代思維方式或足夠規模的項目以保證進行重大調查。SqlMembershipProvider vs自定義解決方案
我一直是一個.NET網絡開發人員多年(以及之前的PHP和ASP經典),並且通常在開發應用程序時,我害怕使用內置的.net SqlMembershipProvider
,這主要是因爲它經常顯得過分其次,因爲我只能想象這樣一個複雜的數據模型可能會有性能問題。
通常我使用一個自定義成員資格和角色提供程序在相當簡單的user -> user roles <- roles
類型模式上運行。根據相關應用程序的需求,我維護標準的成員資格提供程序功能,例如帳戶恢復,配置文件詳細信息,失敗的登錄帳戶鎖定,祕密問題等,例如AD安全應用程序具有少量附加功能,面向公衆的應用程序通常具有商場。這也意味着任何需要存儲過程的任務都需要咀嚼用戶數據,這些任務很容易編寫和執行。直接的SQL命令,良好的索引和簡單的數據模型導致高性能,可伸縮的解決方案,這應該需要改變我完全可以控制需要改變,我認爲這是非常寶貴的。
根據你的經驗,你會說這是一個過時的方法?內置提供程序是否存在可擴展性問題?你通常採取什麼方法以及在什麼情況下?
感謝
經過MS和世界各地開發者的充分測試。 – gbs 2011-03-26 21:22:31
@gbs:極好的一點。滾動你自己的用戶認證框架就像是在滾動你自己的加密系統。好錢說你並不比編寫世界上其他人使用的東西更聰明。 – StriplingWarrior 2011-03-26 21:26:38
很好的答案,謝謝! – Hawxby 2011-03-26 21:26:49