在存储库类中使用Membership类
本文关键字:Membership 存储 | 更新日期: 2023-09-27 17:53:19
我创建了一个像这样的存储库类:
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;
filter属性没有捕捉到用户没有经过身份验证的事实。在存储库类中获取当前登录用户的ProviderUserKey
以便在整个存储库类中使用它的最佳方法是什么?
请反转控制。
寻找用户标识符不是Repository的责任。无论如何,您实际上是在为声明空间中的私有成员赋值。我知道c#允许您这样做,但请检查下面的代码是如何编译的,并养成以这种方式编码的习惯。最后,声明应该只是声明。
我需要看到你的呼叫代码,以便进一步帮助你。而且,您没有提到您的会员资格提供程序的类型。