public bool IsValid(string account, string password)
        {
            if (this.profile == null)
            {
                throw new ArgumentNullException();
            }
            if (this.rsaToken == null)
            {
                throw new ArgumentNullException();
            }

            // 根據 account 取得自訂密碼
            var profileDao = new ProfileDao();
            //var passwordFromDao = profileDao.GetPassword(account);
            var passwordFromDao = this.profile.GetPassword(account);

            // 根據 account 取得 RSA token 目前的亂數
            var rsaToken = new RsaTokenDao();
            //var randomCode = rsaToken.GetRandom(account);
            var randomCode = this.rsaToken.GetRandom(account);

            // 驗證傳入的 password 是否等於自訂密碼 + RSA token亂數
            var validPassword = passwordFromDao + randomCode;
            var isValid = password == validPassword;
            return isValid;
        }
コード例 #2
0
        public bool IsValid(string account, string password)
        {
            if (this.profile == null)
            {
                throw new ArgumentNullException();
            }
            if (this.rsaToken == null)
            {
                throw new ArgumentNullException();
            }

            // 根據 account 取得自訂密碼
            var profileDao = new ProfileDao();
            //var passwordFromDao = profileDao.GetPassword(account);
            var passwordFromDao = this.profile.GetPassword(account);

            // 根據 account 取得 RSA token 目前的亂數
            var rsaToken = new RsaTokenDao();
            //var randomCode = rsaToken.GetRandom(account);
            var randomCode = this.rsaToken.GetRandom(account);

            // 驗證傳入的 password 是否等於自訂密碼 + RSA token亂數
            var validPassword = passwordFromDao + randomCode;
            var isValid       = password == validPassword;

            return(isValid);
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: cashwu/TDD
        private static AuthenticationService GetAuthenticationService()
        {
            var profile = new ProfileDao();
            var token = new RsaTokenDao();

            // 你可以隨時抽換 log 的紀錄方式,只需要實作 ILog
            var log = GetLog();

            var result = new AuthenticationService(profile, token, log);
            return result;
        }
コード例 #4
0
ファイル: AuthenticationService.cs プロジェクト: cashwu/TDD
        public bool IsValid(string account, string password)
        {
            // 根據 account 取得自訂密碼
            var profileDao = new ProfileDao();
            var passwordFromDao = profileDao.GetPassword(account);

            // 根據 account 取得 RSA token 目前的亂數
            var rsaToken = new RsaTokenDao();
            var randomCode = rsaToken.GetRandom(account);

            // 驗證傳入的 password 是否等於自訂密碼 + RSA token亂數
            var validPassword = passwordFromDao + randomCode;
            var isValid = password == validPassword;
            return isValid;
        }
コード例 #5
0
        public bool IsValid(string account, string password)
        {
            // 根據 account 取得自訂密碼
            var profileDao      = new ProfileDao();
            var passwordFromDao = profileDao.GetPassword(account);

            // 根據 account 取得 RSA token 目前的亂數
            var rsaToken   = new RsaTokenDao();
            var randomCode = rsaToken.GetRandom(account);

            // 驗證傳入的 password 是否等於自訂密碼 + RSA token亂數
            var validPassword = passwordFromDao + randomCode;
            var isValid       = password == validPassword;

            return(isValid);
        }
コード例 #6
0
        public bool IsValid(string account, string password)
        {
            // 根據 account 取得設定時間
            var profileDao      = new ProfileDao();
            var registerMinutes = profileDao.GetRegisterTimeInMinutes(account);

            // 根據 registerMinutes 取得 RSA token 目前的亂數
            var rsaToken = new RsaTokenDao();
            var otp      = rsaToken.GetRandom(registerMinutes);

            // 驗證傳入的 password 是否等於 otp
            var isValid = password == otp;

            if (isValid)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #7
0
        protected virtual ProfileDao GetProfileDao()
        {
            var profileDao = new ProfileDao();

            return(profileDao);
        }
        protected virtual ProfileDao GetProfileDao()
        {
            var profileDao = new ProfileDao();

            return profileDao;
        }