我有一个使用 .net 成员资格的现有项目。我们希望扩展项目以允许匿名用户,但我们似乎遇到了一个障碍,因为我们在许多数据库表中使用 aspnet_Users 表的 UserId 作为外键。
以下调用返回 null,因为 aspnet_Membership 表中没有匿名用户的记录
Membership.Provider.GetUser(Request.AnonymousID, false);
有没有办法通过标准 API 获取匿名用户的 UserId?还是我必须编写一个可以做到的扩展?
我有一个使用 .net 成员资格的现有项目。我们希望扩展项目以允许匿名用户,但我们似乎遇到了一个障碍,因为我们在许多数据库表中使用 aspnet_Users 表的 UserId 作为外键。
以下调用返回 null,因为 aspnet_Membership 表中没有匿名用户的记录
Membership.Provider.GetUser(Request.AnonymousID, false);
有没有办法通过标准 API 获取匿名用户的 UserId?还是我必须编写一个可以做到的扩展?
据我所知,这是关于访问的。如果您的网站有不需要访问的模块或页面。您需要先在 aspnet users 表中创建一个用户。可能是未正确创建此匿名用户导致空值。
此外,如果您想跟踪这些匿名用户,您必须在配置文件提供程序配置中将 allowanonymous 设置为 true。
有关更多帮助,请参阅本文 http://www.odetocode.com/Articles/440.aspx