Exemple #1
0
        public SignInResult SignIn(SignInParameter param)
        {
            var result = new SignInResult();

            param.Password = HexPassword(param.Password);
            using (var context = base.CreateContext())
            {
                int status = EnumToValue(StatusKind.Blocked);
                var q      = from t in context.UserInfoes
                             where t.Status != status &&
                             t.UserName == param.UserName && t.Password == param.Password
                             select t;
                var entity = q.SingleOrDefault();
                if (entity != null)
                {
                    result.User = new AdminEntity();
                    EntityMapper.Map(entity, result.User);
                    entity.LastSignInDate = DateTime.Now;
                    entity.LastSignInIP   = param.LastLoginIP;
                    context.SaveChanges();
                }
            }
            result.Success = result.User != null;
            return(result);
        }
Exemple #2
0
        public SSOIdentity SignIn(SignInParameter param)
        {
            SSOIdentity id = mgr.SignIn(param);

            if (id.IsAuthenticated)
            {
                this.SetSignIn(id);
            }
            return(id);
        }
Exemple #3
0
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public SSOIdentity SignIn(SignInParameter param)
        {
            if (param.Password.Length < 32)
            {
                param.Password = CryptoManaged.MD5Hex(param.Password);
            }

            using (var context = base.CreateUserContext())
            {
                var q = from t in context.Accounts
                        where t.AppID == param.AppID &&
                        t.UserName == param.UserName && t.Password == param.Password
                        select new SSOIdentity
                {
                    UserID          = t.RowID,
                    UserName        = t.UserName,
                    Token           = Guid.NewGuid().ToString("N"),
                    IssueDate       = DateTime.Now,
                    IsAuthenticated = true
                };
                var result = q.DefaultIfEmpty(new SSOIdentity()
                {
                    UserName        = param.UserName,
                    IsAuthenticated = false
                }).Single();
                if (param.LogSignIn)
                {
                    var log = new SignInLog();
                    log.UserName   = param.UserName;
                    log.ClientIP   = param.ClientIP;
                    log.Platform   = param.Platform;
                    log.SignInDate = DateTime.Now;
                    log.IsSuccess  = result.IsAuthenticated;
                    context.SignInLogs.Add(log);
                    context.SaveChanges();
                }
                return(result);
            }
        }
Exemple #4
0
        public SignInResult SignIn(SignInParameter param)
        {
            var repository = new AdminRepository();

            return(repository.SignIn(param));
        }