コード例 #1
0
        public object Login(string account, string password)
        {
            try
            {
                var re = UserServer.Login(account, password);

                //如果登陆成功  设置session
                if (re != "login successful")
                {
                    return new { msg = re }
                }
                ;

                var user = UserServer.GetUser(account);
                HttpContext.Session.SetString("user_Account", account);
                HttpContext.Session.SetString("user_Password", user.password);
                HttpContext.Session.SetString("user_Type", user.userType);
                HttpContext.Session.SetString("user_Province", user.province);
                HttpContext.Session.SetString("user_phoneNumber", user.phoneNumber);

                return(new { msg = re });
            }
            catch (Exception e)
            {
                return(new { msg = e.Message });
            }
        }
コード例 #2
0
        public User Login(string username, string password, int port, string address)
        {
            Console.WriteLine("[Login] {0}:{1}, address: {2}", username, password, address);
            if (!DBManager.hasUsername(username))
            {
                Console.WriteLine("[Login] User {0} doesn't exist", username);
                return(null);
            }

            UserServer user = DBManager.GetUser(username);

            if (!user.Password.Equals(password))
            {
                Console.WriteLine("[Login] User {0} wrong password", username);
                return(null);
            }

            if (user.Online)
            {
                Console.WriteLine("[Login] User {0} is already online", username);
                return(null);
            }

            user.Online  = true;
            user.Port    = port;
            user.Address = address;
            Console.WriteLine("[Login] User {0} successfully logged in", username);

            OnLoginChange();

            return(user.GetUser());
        }
コード例 #3
0
ファイル: HomeController.cs プロジェクト: yinmi/blogCore
        public IActionResult Index()
        {
            IArticleServer articleServer = new ArticleServer();

            IUserServer        userServer = new UserServer();
            List <ArticleDate> Article    = articleServer.GetLatestArticleTitle();

            Article.ForEach(item => {
                UserDate userDate = userServer.GetUser(item.UserId);
                item.UserName     = userDate.UserName;
            });

            return(View(Article));
        }
コード例 #4
0
 public object GetUser(string account)
 {
     try
     {
         if (!UserServer.AccountIsExist(account).Equals("account is exists"))
         {
             return(new { msg = "account not found" });
         }
         var re = UserServer.GetUser(account);
         return(re);
     }
     catch (Exception e)
     {
         return(new { msg = e.Message });
     }
 }
コード例 #5
0
        public IActionResult RequestToken([FromBody] TokenRequest request)
        {
            if (ModelState.IsValid)
            {
                var user = UserServer.GetUser(request.UserName);
                if (user == null)
                {
                    return(Ok(new { success = true, massage = "账号不存在,请前往注册" }));
                }
                if (request.Password == user.Password)
                {
                    //var claims = new[] { new Claim(ClaimTypes.Name, request.UserName) };
                    var claims = new List <Claim> {
                        new Claim(ClaimTypes.Name, request.UserName)                          /*,new Claim(ClaimTypes.Role,"admin")*/
                    };
                    var roleLists      = UserServer.GetTestUser(request.UserName);
                    var claimsIdentity = new ClaimsIdentity();
                    if (roleLists != null && roleLists.Count > 0)
                    {
                        foreach (var role in roleLists)
                        {
                            claimsIdentity.AddClaim(new Claim("name", role));
                            claimsIdentity.AddClaim(new Claim(ClaimTypes.Role, role));
                        }
                    }
                    claims.AddRange(claimsIdentity.FindAll("name"));
                    claims.AddRange(claimsIdentity.FindAll(ClaimTypes.Role));
                    var key   = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes(jwtSetting.SecretKey));
                    var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);


                    var token = new JwtSecurityToken(issuer: jwtSetting.Issuer, audience: jwtSetting.Audience, claims: claims, expires: DateTime.Now.AddMinutes(20), signingCredentials: creds);
                    return(Ok(new { success = true, message = "验证成功,请查看token", token = new JwtSecurityTokenHandler().WriteToken(token) }));
                }
                else
                {
                    return(Ok("密码错误"));
                }
            }
            else
            {
                return(BadRequest("数据格式不正确"));
            }
        }
コード例 #6
0
 public object GetUser(string account)
 {
     try
     {
         var addr = Server.GetUserIp(Request.HttpContext);
         if (Server.IPHandle(addr) == 0)
         {
             return(new { msg = "your ip can't using our api , please contact administrator" });
         }
         if (!UserServer.AccountIsExist(account).Equals("account is exists"))
         {
             return(new { msg = "account not found" });
         }
         var re = UserServer.GetUser(account);
         return(re);
     }
     catch (Exception e)
     {
         return(new { msg = e.Message });
     }
 }
コード例 #7
0
        public object Login([FromBody] LoginModel um)
        {
            try
            {
                var re = UserServer.Login(um.Account, um.Password);

                //如果登陆成功  设置session
                var user = UserServer.GetUser(um.Account);
                HttpContext.Session.SetString("user_Account", um.Account);
                HttpContext.Session.SetString("user_Password", user.password);
                HttpContext.Session.SetString("user_Type", user.userType);
                HttpContext.Session.SetString("user_Province", user.province);
                HttpContext.Session.SetString("user_phoneNumber", user.phoneNumber);

                return(new { msg = re });
            }
            catch (Exception e)
            {
                return(new { msg = e.Message });
            }
        }
コード例 #8
0
ファイル: HomeController.cs プロジェクト: yinmi/blogCore
        //登入

        public IActionResult Login()
        {
            UserDate user = new UserDate();

            user.Email    = Request.Form["email"];
            user.Password = Request.Form["password"];
            LoginState  loginState = new LoginState();
            IUserServer userServer = new UserServer();

            if (userServer.AnyUser(user.Email))
            {
                UserDate userDate = userServer.GetUser(user.Email);
                if (user.Password == userDate.Password)
                {
                    loginState.code    = 0;
                    loginState.message = "success";

                    HttpContext.Response.Cookies.Append("email", user.Email);
                    HttpContext.Response.Cookies.Append("password", user.Password);
                    HttpContext.Session.SetString("email", user.Email);
                    HttpContext.Session.SetString("password", user.Password);
                }
                else
                {
                    loginState.code    = 1;
                    loginState.message = "password error";
                }
            }
            else
            {
                loginState.code    = 1;
                loginState.message = "no user";
            }

            return(Json(loginState));
        }
コード例 #9
0
        /// <summary>
        /// Get information about a web service user.
        /// This method should only be used for logging purpose
        /// when client token is not accepted.
        /// </summary>
        /// <param name="userName">User name.</param>
        /// <returns>
        /// Returns user information or null if
        /// user information is not valid.
        /// It is only during login that the
        /// user information can be invalid.
        /// </returns>
        public virtual WebUser GetUser(String userName)
        {
            WebUser user;

            // Check data.
            userName.CheckNotEmpty("userName");
            userName = userName.CheckInjection();

            // Get information from database.
            user = null;
            using (UserServer database = new UserServer())
            {
                using (DataReader dataReader = database.GetUser(userName))
                {
                    if (dataReader.Read())
                    {
                        user = new WebUser();
                        user.LoadData(dataReader);
                    }
                }
            }

            return(user);
        }