讓我將評論轉換爲答案和強姦扎克和詹姆斯答案提供我認爲將是一個可行的解決方案,而無需輸入'自定義提供商區域'。雖然編寫自定義提供程序並不複雜,但根據我的經驗,如果您可以讓內置提供程序執行您所需的操作,即使它在這裏或那裏需要一種氣味,始終是最佳路線。
添加一個角色,比如說WellGroomedAndBehavesSelf
,用於控制對良好打扮和行爲良好的用戶應該有權訪問的內容的訪問。
在web.config中實施配置文件並添加ReinstateDate
屬性(或UngroundedOnDate
; -D)。
當用戶行爲異常時,將他們從角色WellGroomedAndBehavesSelf
中刪除並設置ReinstateDate
配置文件屬性。
在您的登錄邏輯中,覆蓋OnAuthenticate
並檢查ReinstateDate
配置文件屬性(如果存在並傳遞),清除它並將該用戶添加到角色WellGroomedAndBehavesSelf
。
完成並且不需要定製提供程序。
更新:被永久接地,如果莫名其妙的輪廓變得比登錄邏輯別處清除, 的替代方法,而且可能更健壯阻止用戶是檢查的作用WellGroomedAndBehavesSelf
,若沒有,然後檢查輪廓ReinstateDate
。如果它已經通過或不存在,請將用戶放回WellGroomedAndBehavesSelf
。
效果相同,但邏輯中的細微變化將提供更強大的解決方案。
如何實現簡介:
如果您正在使用一個Web站點項目看here。
如果您使用的是Web 應用程序項目外觀here。
+1很好的問題,有kitteh化身 – 2010-04-17 06:55:05
不明原因downvote :( – 2010-04-18 06:09:30
+1死亡downvoters>; - | – 2010-04-20 18:06:25