DotNetNuke SiteLog与aspnet_Membership不同

时间:2013-09-25 16:02:16

标签: asp.net-membership dotnetnuke membership-provider

我们正在使用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

1 个答案:

答案 0 :(得分:0)

我认为_Membership更准确,Sitelog可能会认识到实际登录本身,_Membership认识到用户上次访问该网站的时间是23日?

这只是我的假设,但我没有机会通过代码确认。