對於ASP.NET的成員角色和表單身份驗證來說,這似乎是新的,這樣可以爲我的實現節省更多的時間和精力。ASP.NET成員身份角色和身份驗證的缺點?
但是,我也想知道如果它在所有善良或者它在以下方面進行任何額外的行李(缺點):
- 性能
- 可擴展性
謝謝提前爲您的答覆。
對於ASP.NET的成員角色和表單身份驗證來說,這似乎是新的,這樣可以爲我的實現節省更多的時間和精力。ASP.NET成員身份角色和身份驗證的缺點?
但是,我也想知道如果它在所有善良或者它在以下方面進行任何額外的行李(缺點):
謝謝提前爲您的答覆。
我從來沒有遇到與默認提供程序的性能或可伸縮性問題。以下是我一路拾起的兩個提示。
如果您在負載平衡設置中使用提供程序和哈希密碼。您必須在web.config中指定您的機器密鑰
默認情況下,不會緩存用戶角色,因此每次需要檢查用戶角色時,都會往返DB。在web.config的標記中使用cacheRolesInCookie =「true」屬性將爲您緩存它們。
簡答:在性能和可擴展性方面沒有真正的包袱。如果有的話,真正的包袱是可測試性和可移植性(gobal static singletons是不好的),但是你可以對此進行編碼。
它可能會工作得很好,你可以隨時切換提供者或寫你自己的。
我已經編寫了一個提供程序,它作爲ASP.NET身份驗證系統和POCO類以及存儲庫和nHibernate之間的一層工作,這樣我可以讓用戶登錄並獲得身份驗證ASP.NET MVC out-of但是我的系統中有任何其他模型/視圖/控制器的用戶和角色。同樣,通過使用IoC和接口,我可以在不同的項目中使用完全相同的提供程序,以不同的方式處理用戶。好極了。奇怪的是,這樣的事情並沒有出現。
如果您使用默認提供程序,那麼執行諸如搜索或過濾用戶或執行管理類事務可能非常困難,因爲您無法(輕鬆)直接查詢數據庫。你必須經歷API,而且它非常有限。所以,如果你想製作大量的用戶報告,請注意這並不容易。
我已經在許多大型Web應用程序中使用ASP.Net中的SQL成員提供程序,並且從來沒有任何問題。
在我們當前的應用程序中,我們必須添加額外的字段,並使用額外的API公開這些字段。
Optimize ASP.NET Membership Stored Procedures for greater speed and scalability
您打算使用哪個提供商? ADAM,Active Directory,Sql,Ms-Access,XML?性能和可伸縮性將由此決定。 – MatthewMartin 2009-08-13 21:27:13