0

我们使用的是 DNN 6.2.6,并且我打开了 SiteLog 功能。当我查询 DNN SiteLog表以查看用户何时登录时,最新的是:9/4/2013

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它显示9/23/2013 :

SELECT *
FROM [dnnDB].[dbo].[aspnet_Membership]
WHERE userid = 'ABCDEF12-1234-ABCD-ABCD-AD5BAA5C7EBF'

任何想法为什么它们不同步?

aspnet_Membership准确吗?还是SiteLog

4

1 回答 1

0

我想_Membership 更准确,Sitelog 可能识别实际登录本身,_Membership 识别用户上次访问该站点是在 23 日?

不过,这只是我的假设,我还没有机会通过代码进行确认。

于 2013-09-25T18:04:38.443 回答