Example #1
0
        public AuthResponse AuthUser(string userName, string psswdHash)
        {
            _connContext = _connContext.CheckDBConn();
            var resp = new AuthResponse();

            try
            {
                ValidationUtil.ValidateAuthInput(userName, psswdHash);
                PtService.NhibernateImpl.DAOs.Impl.Kasutaja principal =
                    _connContext._KasutajaDAO.GetKasutaja(userName, psswdHash);
                if (principal == null)
                {
                    throw new Exception("Kasutaja autentimine ebaõnnestus!");
                }
                else if (principal.LoppKP > DateTime.Now)
                {
                    throw new Exception("Puudub kehtiv kasutaja!");
                }
                else if (principal.IsikID == null)
                {
                    throw new Exception("Kasutajal puudub isik!");
                }

                string validHandle = Utils.GenCryptoRndStr();
                DateTime sessValidTo = DateTime.Now.AddMinutes(15);

                principal.SessionHandle = validHandle;
                principal.SessionValidTo = sessValidTo;
                _connContext._KasutajaDAO.Update(principal, principal.ID);

                resp.IsAuthenticated = true;
                resp.SessionValidFrom = DateTime.Now;
                resp.SessionHandle = validHandle;
                resp.SessionValidTo = sessValidTo;
                resp.Kasustaja = new Kasutaja();
                resp.Kasustaja = Utils.CopyTo(principal, resp.Kasustaja);
            }
            catch (Exception exception)
            {
                resp = new AuthResponse {IsAuthenticated = false, AuthException = exception};
            }

            return resp;
        }
Example #2
0
        private AuthResponse validateAuth(string sessionHandle)
        {
            var tulem = new AuthResponse();
            PtService.NhibernateImpl.DAOs.Impl.Kasutaja daoKasutaja = null;
            try
            {
                daoKasutaja = ValidationUtil.CheckValidateHandle(sessionHandle, _connContext);
            }
            catch (Exception e)
            {
                tulem.IsAuthenticated = false;
                tulem.AuthException = e;
                return tulem;
            }

            DateTime newValidTo = DateTime.Now.AddMinutes(15);

            tulem.IsAuthenticated = true;
            tulem.Kasustaja = new Kasutaja();
            tulem.Kasustaja = Utils.CopyTo(daoKasutaja, tulem.Kasustaja);
            //salvesta ajapikendus baasi
            daoKasutaja.SessionValidTo = newValidTo;
            _connContext._KasutajaDAO.Update(daoKasutaja, daoKasutaja.ID);
            tulem.SessionValidFrom = DateTime.Now;
            tulem.SessionValidTo = newValidTo;
            tulem.SessionHandle = daoKasutaja.SessionHandle;
            //ära edasta klientsüsteemile psswdHas välja
            tulem.Kasustaja.PsswdHash = null;
            return tulem;
        }