public MainViewModel(KCUser user) { _mainModel = new MainModel(); _mainModel.User = user; RefreshRecentSessions(); }
public KCUser CreateUser(string username, string password) { KCUser user = new KCUser(); user.UserId = Guid.NewGuid(); user.Name = username; user.LoginName = username; user.Created = DateTime.Now; if (string.IsNullOrEmpty(password)) { user.PasswordHash = null; user.PasswordSalt = null; } else { var digest = new Users.UserAuthenticationSecurity().Hash(password); user.PasswordHash = digest.HashBase64; user.PasswordSalt = digest.SaltBase64; } _db.KCUser.Add(user); _db.SaveChanges(); return(user); }
public KCUser GetByLoginName(string loginName) { KCUser user = _db.KCUser .Where(u => u.LoginName.Equals(loginName)) .FirstOrDefault(); return(user); }
public void ProcessLogin(KCUser user) { this.User = user; this.LoginSuccessful = (user != null); OnCloseEventHandler(new LoginViewClosedEventArgs() { User = user }); }
public void DoLogin() { KCUser user = _userMgr.GetByLoginName(_loginModel.LoginName); if (user == null) { _loginModel.ErrorMsg = "invalid login name"; } else { ProcessLogin(user); } }
public TextSequenceInputViewModel(KCUser user, ITextSampleGenerator gen) { _seqInputModel = new TextSequenceInputModel(); _seqActive = false; _generator = gen; _sessionMgr = new UserSession(user, gen); _updateTimer = new DispatcherTimer(DispatcherPriority.Normal, App.Current.Dispatcher); _updateTimer.Interval = new TimeSpan(0, 0, 0, 0, UPDATE_INTERVAL_IN_MS); _updateTimer.Tick += (_, a) => { DoInterval(); }; }
public IList <Data.Session> GetHistoryDetailsAllTime(KCUser currentUser, int lastXNumberRecords) { var results = _db.Session .Where(sess => sess.UserId.Equals(currentUser.UserId)) .Include(sess => sess.KeySequence) .Include(sess => sess.KeySequence.Select(b => b.SourceType)) .Include(sess => sess.KeySequence.Select(b => b.KeySequenceAnalysis)) .Include(sess => sess.KeySequence.Select(b => b.KeySequenceAnalysis.Select(c => c.AnalysisSpeed))) .Include(sess => sess.KeySequence.Select(b => b.KeySequenceAnalysis.Select(c => c.AnalysisAccuracy))) .OrderByDescending(s => s.Created) .Take(lastXNumberRecords); return(results.ToList()); }
public KCUserLogin RecordLogin(KCUser user, HttpContext context) { KCUserLogin newLogin = new KCUserLogin(); newLogin.KCUserLoginId = Guid.NewGuid(); newLogin.UserId = user.UserId; newLogin.Created = DateTime.Now; newLogin.IpAddress = GetIpAddress(context); newLogin.UserAgent = GetUserAgent(context); _db.KCUserLogin.Add(newLogin); _db.SaveChanges(); return(newLogin); }
public HttpResponseMessage GetNewSession(JWTToken token) { var user = new KCUser() { UserId = Guid.Parse(token.UserId) }; var session = new KeyCdr.UserSession(user).StartNewSession(); var newSession = new SessionModel() { SessionId = session.SessionId, UserId = session.UserId, }; return(Request.CreateResponse(HttpStatusCode.OK, newSession)); }
public HttpResponseMessage GetNewSequence(SessionModel session) { WikipediaTextGenerator gen = new WikipediaTextGenerator(); var sample = gen.GetParagraph(); KCUser user = new KCUser() { UserId = session.UserId }; UserSession sessionMgr = new UserSession(user); KeySequence seq = sessionMgr.StartNewSequence(sample); var result = new SequenceModel() { SessionId = seq.SessionId, SequenceId = seq.KeySequenceId, Text = sample.GetText(), SourceKey = sample.GetSourceKey(), SourceType = sample.GetSourceType().ToString() }; return(Request.CreateResponse(HttpStatusCode.OK, result)); }
public bool IsValidLogin(KCUser user, string password) { if (user == null) { return(false); } //if the password salt or hash is null then let the user login //regardless of password //this is probably a huge security hole... if (user.PasswordSalt == null || user.PasswordHash == null) { return(true); } UserAuthenticationSecurity sec = new UserAuthenticationSecurity(); bool isValidLogin = sec.IsValid(new UserAuthenticationDigest() { Hash = Convert.FromBase64String(user.PasswordHash), Salt = Convert.FromBase64String(user.PasswordSalt) }, password); return(isValidLogin); }
public UserSession(KCUser user, ITextSampleGenerator generator) { _user = user; _generator = generator; }
public IList <Data.Session> GetHistoryDetailsAllTime(KCUser currentUser) { return(GetHistoryDetailsAllTime(currentUser, DEFAULT_ALL_HISTORY_NUM_RECORDS)); }
public void TestSetup() { UserManager mgr = new UserManager(); _user = mgr.CreateGuest(); }
public UserSessionStateless(KCUser user) : base(user, new WikipediaTextGenerator()) { }
public UserSessionStateless(KCUser user, ITextSampleGenerator generator) : base(user, generator) { }
public void LoginAsGuest() { KCUser user = _userMgr.CreateGuest(); ProcessLogin(user); }
public UserSession(KCUser user) : this(user, new WikipediaTextGenerator()) { }