コード例 #1
0
        /// <summary>
        /// Valida usuário e senha no AD, verifica as permissões de acesso e retorna matrícula se usuário estiver válido.
        /// </summary>
        /// <param name="username">
        ///     Nome de login do usuário.
        /// </param>
        /// <param name="password">
        ///     Senha do usuário, a mesma do e-mail institucional.
        /// </param>
        /// <param name="rememberMe">Permanecer autenticado.</param>
        /// <param name="fallbackCaptcha">Captcha do google bloqueado. Login utilizou o captcha fallback.</param>
        /// <param name="isMobileBrowser"></param>
        /// <returns>Dados do Usuario.</returns>
        public UserDataCookie SignIn(string username, string password, bool rememberMe, bool fallbackCaptcha, bool isMobileBrowser)
        {
            var userAd = _adService.ValidadeUser(username, password);

            var userData = userAd.BuildDataCookie();

            userData.RememberMe = rememberMe;

            var roles = ValidateAccess(userAd.Matricula, userAd.IsMembro);

            if (roles == null)
            {
                throw new InvalidLoginException();
            }

            SetAuthCookie(userData, roles);

            //_acessoRepository.RegistrarAcesso(userAd.Matricula, userAd.IsMembro, userData.IP, rememberMe, fallbackCaptcha, isMobileBrowser);

            return(userData);
        }