我们正在使用DNN 6.2.6,并且我已启用SiteLog功能。当我查询DNN SiteLog 表以查看用户何时登录时, 最新的是:2013年9月4日
SELECT u.[UserID] DNNID
,u.[Username]
,u.[FirstName] [First Name]
,u.[LastName] [Last Name]
,u.[DisplayName] [Display Name]
,sl.[DateTime] [Access Date]
, r.RoleName [Role]
, t.TabName [Page Name]
FROM [dnnDB].[dbo].[SiteLog] sl
LEFT JOIN dnnDB.dbo.Users u on u.UserID = sl.UserId
LEFT JOIN dnnDB.dbo.UserRoles ur on u.UserID = ur.UserID
LEFT JOIN dnnDB.dbo.Roles r on ur.RoleID = r.RoleID
LEFT JOIN dnnDB.dbo.Tabs t on sl.TabId = t.TabID
WHERE 1=1
AND u.Username = 'JDoe'
AND sl.[DateTime] >= DATEADD(YYYY, -1, getdate())
ORDER by [Access Date] desc
但是,当我查看 aspnet_Membership 表的LastLoginDate
时, 会显示2013年9月23日 :
SELECT *
FROM [dnnDB].[dbo].[aspnet_Membership]
WHERE userid = 'ABCDEF12-1234-ABCD-ABCD-AD5BAA5C7EBF'
为什么他们不同步的任何想法?
aspnet_Membership
准确吗?还是SiteLog
?
答案 0 :(得分:0)
我认为_Membership更准确,Sitelog可能会认识到实际登录本身,_Membership认识到用户上次访问该网站的时间是23日?
这只是我的假设,但我没有机会通过代码确认。