public void SessionStarted(IClarifySession session)
        {
            if (!_schemaCache.IsValidTable("fc_login_monitor"))
            {
                _logger.LogDebug("Unable to log user authentication. No fc_login_monitor table is present.");
                return;
            }

            var host = GetLocalhostFqdn();

            _logger.LogDebug("Logging application {0} authentication for user {1} on host {2} with session id {3}.", _settings.ApplicationName, session.UserName, host, session.Id);

            var dataSet = session.CreateDataSet();

            var monitorGeneric = dataSet.CreateGeneric("fc_login_monitor");
            var monitorRow     = monitorGeneric.AddNew();

            monitorRow["application"]  = _settings.ApplicationName;
            monitorRow["login_time"]   = FCGeneric.NOW_DATE;
            monitorRow["logout_time"]  = FCGeneric.MIN_DATE;
            monitorRow["login_name"]   = session.UserName;
            monitorRow["fcsessionid"]  = session.Id.ToString();
            monitorRow["num_sessions"] = _sessionUsageReporter.GetActiveSessionCount();

            if (_schemaCache.IsValidField("fc_login_monitor", "server"))
            {
                monitorRow["server"] = host;
            }

            monitorRow["comments"] = _applicationUrl.Url;

            monitorRow.RelateByID(session.SessionUserID, "fc_login_monitor2user");
            monitorRow.Update();
        }
Exemple #2
0
 public void SessionStarted(IClarifySession session)
 {
     _reporter.GetActiveSessionCount();
 }