示例#1
0
        public VLogin Login(string login, string password)
        {
            var condition   = new SQLCondition();
            var dbParameter = new DbParameter[] {
                new SqlParameter()
                {
                    DbType = DbType.String, Value = login, ParameterName = "@login"
                },
            };

            condition.Expression = "where name = @login or  Email = @login or Phone=@login";
            var user   = _user.Query(condition, dbParameter);
            var vLogin = new VLogin();

            if (!user.Any())
            {
                vLogin.IsLogin    = false;
                vLogin.LoginStats = LoginStats.NAME;
                return(vLogin);
            }
            var item = user.Where(t => t.Password.Equals(password.GetMd5Str())).SingleOrDefault();

            if (item == null)
            {
                vLogin.IsLogin    = false;
                vLogin.LoginStats = LoginStats.PASSOWRD;
                return(vLogin);
            }
            vLogin.IsLogin    = true;
            vLogin.LoginStats = LoginStats.SUCCESS;
            vLogin.User       = item;
            return(vLogin);
        }
示例#2
0
        public LoginView()
        {
            InitializeComponent();

            _model = new VLogin();
            this.InitModel(_model);
        }
示例#3
0
        public VToken Auth(VLogin user)
        {
            var exists = this.CheckUser(user);

            if (exists)
            {
                var requestAt = DateTime.Now;
                var expiresIn = requestAt + TokenAuthOption.ExpiresSpan;
                var token     = GenerateToken(user, expiresIn);

                return(new VToken
                {
                    StateCode = 1,
                    RequertAt = requestAt,
                    ExpiresIn = TokenAuthOption.ExpiresSpan.TotalSeconds,
                    AccessToken = token
                });
            }
            else
            {
                return(new VToken {
                    StateCode = -1, Errors = "Username or password is invalid"
                });
            }
        }
示例#4
0
        private bool CheckUser(VLogin user)
        {
            var isExists = false;
            // 密文 Pwd
            var loginUser = auth.TPermUsers.Where(x => x.LoginName == user.Username).FirstOrDefault();

            if (loginUser == null)
            {
                return(false);
            }
            // 明文 user.Password
            var bytes = Encoding.Default.GetBytes(loginUser.Pwd);

            // 校验
            isExists = MD5Service.VerifyMd5Hash(MD5Service.MD5Hash, user.Password, loginUser.Pwd);

            return(isExists);
        }
示例#5
0
        //生成Token
        private string GenerateToken(VLogin user, DateTime expires)
        {
            var handler = new JwtSecurityTokenHandler();

            ClaimsIdentity identity = new ClaimsIdentity(
                new GenericIdentity(user.Username, "TokenAuth"),
                new[] { new Claim("ID", user.ID.ToString()) }
                );

            var securityToken = handler.CreateToken(new SecurityTokenDescriptor
            {
                Issuer             = TokenAuthOption.Issuer,
                Audience           = TokenAuthOption.Audience,
                SigningCredentials = TokenAuthOption.SigningCredentials,
                Subject            = identity,
                Expires            = expires
            });

            return(handler.WriteToken(securityToken));
        }
示例#6
0
        public int AddLogin(VLogin item, string ipAddress)
        {
            var login = new Login();

            item.SessionId  = Guid.NewGuid().ToString() + login.LoginTime.ToString("yyyyMMddHHmmss");
            login.SessionId = item.SessionId;
            login.UserId    = item.User.Id;
            login.UserName  = item.User.Name;
            login.IPAddress = ipAddress;
            login.LoginTime = DateTime.UtcNow;

            var sql         = "update Login set IsDrop = 0  where UserId=@userId ";
            var dbParameter = new DbParameter[] {
                new SqlParameter()
                {
                    DbType = DbType.Int32, Value = item.User.Id, ParameterName = "@userId"
                },
            };

            _login.Exec(sql, dbParameter.ToArray());
            return(_login.Add(login));
        }
        public ActionResult Login(VLogin login, string ReturnUrl = "")
        {
            string message = "";

            using (PhotoGraphyDbContext dc = new PhotoGraphyDbContext())
            {
                var v  = dc.Clients.Where(a => a.Email == login.EmailID).FirstOrDefault();
                var p  = dc.PhotoGraphers.Where(x => x.Email == login.EmailID).FirstOrDefault();
                var ax = dc.Admins.Where(z => z.Email == login.EmailID).FirstOrDefault();

                if (v != null)
                {
                    if (string.Compare(login.Password, v.Password) == 0)
                    {
                        int    timeout   = login.RememberMe ? 2 : 5;
                        var    ticket    = new FormsAuthenticationTicket(login.EmailID, login.RememberMe, timeout);
                        string encrypted = FormsAuthentication.Encrypt(ticket);
                        var    cookie    = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted);
                        cookie.Expires  = DateTime.Now.AddMinutes(timeout);
                        cookie.HttpOnly = true;
                        Response.Cookies.Add(cookie);



                        if (Url.IsLocalUrl(ReturnUrl))
                        {
                            return(Redirect(ReturnUrl));
                        }
                        else
                        {
                            Session["useremail"] = v.ClientId;
                            Session["FullName"]  = v.Name;


                            return(RedirectToAction("Index", "Client"));
                            //  Response.Write("<script>alert('Welcome to User')</script>");
                        }
                    }
                    else
                    {
                        message = "Invalid Email Or Password";
                    }
                }

                else if (p != null)
                {
                    var block = dc.Blocks.Where(z => z.Fk_PhotoGrapherID == p.PhotoGrapherId).SingleOrDefault();
                    var warn  = dc.Warns.Where(z => z.Fk_PhotoGrapherID == p.PhotoGrapherId).SingleOrDefault();
                    //Warn warn = dc.Warns.Find(p.PhotoGrapherId);

                    if (string.Compare(login.Password, p.Password) == 0)
                    {
                        if (block == null)
                        {
                            int    timeout   = login.RememberMe ? 2 : 1;
                            var    ticket    = new FormsAuthenticationTicket(login.EmailID, login.RememberMe, timeout);
                            string encrypted = FormsAuthentication.Encrypt(ticket);
                            var    cookie    = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted);
                            cookie.Expires  = DateTime.Now.AddMinutes(timeout);
                            cookie.HttpOnly = true;
                            Response.Cookies.Add(cookie);



                            if (Url.IsLocalUrl(ReturnUrl))
                            {
                                return(Redirect(ReturnUrl));
                            }
                            else
                            {
                                Session["useremail"] = p.PhotoGrapherId;
                                Session["FullName"]  = p.FullName;


                                if (warn == null)
                                {
                                    return(RedirectToAction("Index", "PhotoGrapher"));
                                }
                                else
                                {
                                    return(RedirectToAction("Warning", "PhotoGrapher"));
                                }

                                //  Response.Write("<script>alert('Welcome to User')</script>");
                            }
                        }
                        else
                        {
                            return(RedirectToAction("Block", "Account"));
                        }
                    }
                    else
                    {
                        message = "Invalid Email Or Password";
                    }
                }
                else if (ax != null)
                {
                    if (string.Compare(login.Password, ax.Password) == 0)
                    {
                        int    timeout   = login.RememberMe ? 2 : 1;
                        var    ticket    = new FormsAuthenticationTicket(login.EmailID, login.RememberMe, timeout);
                        string encrypted = FormsAuthentication.Encrypt(ticket);
                        var    cookie    = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted);
                        cookie.Expires  = DateTime.Now.AddMinutes(timeout);
                        cookie.HttpOnly = true;
                        Response.Cookies.Add(cookie);



                        if (Url.IsLocalUrl(ReturnUrl))
                        {
                            return(Redirect(ReturnUrl));
                        }
                        else
                        {
                            Session["useremail"] = ax.Email;
                            Session["FullName"]  = ax.Name;


                            return(RedirectToAction("Index", "Admin"));
                            //  Response.Write("<script>alert('Welcome to User')</script>");
                        }
                    }
                    else
                    {
                        message = "Invalid Email Or Password";
                    }
                }



                else
                {
                    message = "Invalid UserName Or Password";
                }
            }
            ViewBag.Message = message;
            return(View());
        }
示例#8
0
        public App()
        {
            InitializeComponent();

            MainPage = new VLogin();
        }
示例#9
0
 public IActionResult Login([FromBody] VLogin data)
 {
     return(Json(this._login.CheckAccess(data.user, data.pass)));
 }
示例#10
0
        public JsonResult Login([FromBody] VLogin user)
        {
            var result = loginService.Auth(user);

            return(new JsonResult(result));
        }