0

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テーブルを見ると、2013 年 9 月 23LastLoginDateと表示されます

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 に答える