我創建了一個倉儲類是這樣的:使用Membership類
public class ProfileRepository : IProfileRepository
{
private Guid _userIdentifier = (Guid)Membership.GetUser().ProviderUserKey;
....
}
每當我不是在我的網站登錄,我嘗試導航到一個[Authorize]
過濾頁面,它會拋出一個錯誤( Object reference not set to an instance of an object.
)在private Guid _userIdentifier = (Guid)Membership.GetUser().ProviderUserKey;
過濾器屬性不會捕獲用戶未通過身份驗證的事實。在儲存庫類中能夠獲得當前登錄用戶的ProviderUserKey
的最佳方法是什麼,以便它可以在整個儲存庫類中使用?
沒有答案,但我不確定你的存儲庫應該依賴於Membership類。爲什麼不把用戶ID傳遞給適當的方法呢? –
@DStanley只是覺得像傳遞UserId到一堆方法可能是多餘的,似乎更清潔,它在存儲庫中,但如果它的缺陷,那麼我想生病必須改變我的方法。 – anthonypliu
當用戶未登錄時,查詢的結果應該是什麼? – lboshuizen