我正在使用Sitecore 8 Update 2。 我正在寻找一种方法来获取有关登录用户数量的统计数据(随着时间的推移,而不仅仅是现在)。
主要是我想知道在系统上工作的实际人数是否接近许可证允许的最大用户数量。否则公司可能会严重支付过高的费用。
是否已有开箱即用的解决方案或可用的模块?
答案 0 :(得分:3)
如果您访问此页面:
<your-domain>/sitecore/client/Applications/LicenseOptions/KickUser
它将为您提供所有当前登录的CMS用户的列表。该页面是一个SPEAK应用程序,并且有一个名为ActiveUsersDataSource
的数据源。在代码中,此数据源使用DomainAccessGuard.Sessions
属性来获取所有会话的列表。
因此,如果您只想要一个列表,那么KickUser页面就足够了。如果要运行报告,可以使用DomainAccessGuard.Sessions
属性作为开头。您可以使用它来简单地使用Sitecore Powershell Extensions编写报告。
答案 1 :(得分:1)
日志文件通常包含有关登录/注销的审核信息。 E.g:
6140 13:57:33 INFO AUDIT(sitecore \ djanjicek):登录
......
7512 14:02:57 INFO AUDIT(sitecore \ djanjicek):退出
使用Sitecore Log Analyzer,您应该能够在审计跟踪上过滤日志文件。
https://marketplace.sitecore.net/Modules/S/Sitecore_Log_Analyzer.aspx
如果您需要基于Web的解决方案,那么您可以编写一个管理页面来读取所有日志文件并及时输出所需的行。
答案 2 :(得分:0)
另外,你可以试试这个:
var x = Membership.Providers["sql"].GetNumberOfUsersOnline();
其中&#34; sql&#34;是您在配置中定义的成员资格提供者名称。