如何跟踪用户通过azure ad

时间:2015-10-08 09:11:31

标签: azure asp.net-web-api adal

我使用Azure Ad和ADAL.js来验证我的应用程序,我需要跟踪用户成功访问该应用程序的次数。

  • 如果用户在同一会话中访问该应用程序,则应将其视为一次访问。

  • 如果用户在不同的会话中浏览应用程序,则应将其计为第二次访问。

我可以使用ADAL.js中的任何事件吗?

或者我想在数据库中存储会话状态(adal.session.state)值,如果用户会话被更改,我监控的值就会改变。然后,我会比较每次访问用户的值这个值更改然后我将增加访问次数,并将更新新的会话状态值。

1 个答案:

答案 0 :(得分:0)

我在我的数据库中创建了两个额外的列Visits,SessionStateValue Value

由于我获得了adal.js存储在会话存储中的会话状态值,因此每当用户成功登录系统时,SessionStateValue db列中没有值(这意味着用户首次登录) )然后我将会话状态值存储在db中,并将访问次数增加1。

当用户在同一会话中使用该应用程序时(比如打开一个新的浏览器选项卡),由于SessionStateValue值存在于db中并且与浏览器的Session状态值匹配,因此不会增加访问次数。

如果用户在其他会话中登录(浏览器已关闭并重新打开或使用不同的浏览器),则会话状态值将更改并附加到db中的SessionStateValue,并且访问次数将增加1。

只要访问次数<1,就使用该逻辑。 3。