我假设MembershipUser对象和实现IPrincipal接口的对象是“连接”的,因为当其中一个对象中的某些信息发生变化时,另一个对象也会发生相应的变化?
答案 0 :(得分:4)
不确定我是否理解您的问题,但我相信您的假设不正确。
System.Web.Security使用MembershipUser通过您在Web配置中设置的MembershipProvider对用户进行身份验证。当你打电话......
MembershipUser user = Membership.GetUser(username);
您的会员提供商将查询您保存用户信息的数据存储区(Sql数据库,Active Directory等)并返回为该用户名提供的Memberhsip数据。
如果您在应用程序中定义了另一个实现IPrincipal接口的类并且您已实例化该类型的对象,那么这并不一定意味着您的MembershipUser对象和您的自定义对象共享数据(除非您已经分配了以编程方式参考)
也许如果你提供了一个代码示例,它将有助于澄清