コード例 #1
0
ファイル: UserController.cs プロジェクト: punkrocker/StockNet
        public ActionResult EditPost(int id, UserAddEditViewModel model)
        {
            St_user u = DBService.GetEntity <St_user>(id);

            if (!u.LoginName.Equals("admin", StringComparison.OrdinalIgnoreCase) && model.username != null && model.username.Equals("admin", StringComparison.OrdinalIgnoreCase))
            {
                ModelState.AddModelError("username", "用户名不能为admin");
            }

            if (!ModelState.IsValid)
            {
                model.Roles = UserService.GetRoles();
                return(View(model));
            }

            if (!u.LoginName.Equals("admin", StringComparison.OrdinalIgnoreCase))
            {
                u.LoginName = model.username;
                u.RoleId    = model.userrole > 0 ? model.userrole : 0;
            }
            if (!string.IsNullOrEmpty(model.userpass))
            {
                u.LoginPass = DBService.SHA1Hash(model.userpass);
            }
            u.Name  = model.realname;
            u.Email = model.email;
            u.Sex   = model.usersex == 1 ? true : false;
            if (u.AddTime == null)
            {
                u.AddTime = DateTime.Now;
            }
            DBService.UpdateEntity <St_user>(u);

            return(RedirectToAction("Index"));
        }
コード例 #2
0
ファイル: UserController.cs プロジェクト: punkrocker/StockNet
        public ActionResult AddPost(UserAddEditViewModel model)
        {
            if (model.username != null && model.username.Equals("admin", StringComparison.OrdinalIgnoreCase))
            {
                ModelState.AddModelError("username", "用户名不能为admin");
            }
            if (!ModelState.IsValid)
            {
                model.Roles = UserService.GetRoles();
                return(View(model));
            }
            St_user u = new St_user();

            u.LoginName = model.username;
            u.LoginPass = DBService.SHA1Hash(model.userpass);
            u.Name      = model.realname;
            u.Email     = model.email;
            u.Sex       = model.usersex == 1 ? true : false;
            u.RoleId    = model.userrole > 0?model.userrole:0;
            u.AddTime   = DateTime.Now;
            u.Status    = 0;
            DBService.AddEntity <St_user>(u);

            return(RedirectToAction("Index"));
        }
コード例 #3
0
ファイル: UserController.cs プロジェクト: punkrocker/StockNet
        public ActionResult Login(LoginViewModel model)
        {
            RegisterResult result = new RegisterResult
            {
                Code    = AppConst.MSG_ERR,
                Message = "",
                Data    = null
            };

            try
            {
                St_user identity = UserService.CheckUser(model.UserName, model.Password);

                if (identity != null)
                {
                    //AuthenticationManager.SignOut();
                    //HttpContext.GetOwinContext().Authentication.SignIn(new AuthenticationProperties()
                    //{
                    //    IsPersistent = model.RememberMe == "on"
                    //}, identity);
                    result.Code = AppConst.MSG_SUCCESS;
                    result.Data = identity;
                }
                else
                {
                    result.Message = "无效的登录尝试";
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }
            return(Content(JsonConvert.SerializeObject(result)));
        }
コード例 #4
0
ファイル: UserController.cs プロジェクト: punkrocker/StockNet
        public ActionResult Register(RegisterViewModel model)
        {
            RegisterResult result = new RegisterResult
            {
                Code    = AppConst.MSG_ERR,
                Message = "",
                Data    = null
            };

            try
            {
                var user = new St_user();
                user.AddTime   = DateTime.Now;
                user.LoginName = model.UserName;
                user.LoginPass = DBService.SHA1Hash(model.Password);
                user.Name      = model.UserName;
                user.Email     = "";
                user.RoleId    = 0;
                user.Status    = 0;
                int uid = DBService.AddEntity <St_user>(user, true);

                if (uid > 0)
                {
                    var member = new St_member();
                    member.Addr      = "";
                    member.AddTime   = DateTime.Now;
                    member.Email     = "";
                    member.HadVerify = false;
                    member.Level     = "普通会员";
                    member.Mobile    = model.Mobile;
                    member.QQ        = "";
                    member.RealName  = model.UserName;
                    member.Remark    = "";
                    member.Tel       = "";
                    member.UserId    = uid;
                    member.Wechat    = "";
                    int memid = DBService.AddEntity <St_member>(member, true);
                    if (memid > 0)
                    {
                        var claims = new List <Claim>();
                        claims.Add(new Claim(ClaimTypes.Name, model.UserName));
                        claims.Add(new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()));
                        claims.Add(
                            new Claim(
                                "http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider",
                                "ASP.NET Identity"));
                        claims.Add(new Claim(ClaimTypes.Role, "0"));
                        claims.Add(new Claim("Sex", user.Sex.HasValue && user.Sex.Value ? "1" : "0"));
                        claims.Add(new Claim("DisplayName", user.Name));

                        var identity = new ClaimsIdentity(claims, "MyClaimsLogin");
                        HttpContext.GetOwinContext().Authentication.SignIn(new AuthenticationProperties()
                        {
                            IsPersistent = false
                        }, identity);
                        result.Code = AppConst.MSG_SUCCESS;
                        result.Data = model;
                    }
                    else
                    {
                        ModelState.AddModelError("", "无法注册用户!");
                        result.Message = "无法注册用户!";
                    }
                }
                else
                {
                    ModelState.AddModelError("", "无法添加用户!");
                    result.Message = "无法添加用户!";
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
            }

            return(Content(JsonConvert.SerializeObject(result)));
        }
コード例 #5
0
        public ActionResult Register(RegisterViewModel model, string returnUrl)
        {
            if (UserService.Exists(model.UserName))
            {
                ModelState.AddModelError("UserName", "用户名已存在!");
            }
            if (ModelState.IsValid)
            {
                var user = new St_user();
                user.AddTime   = DateTime.Now;
                user.LoginName = model.UserName;
                user.LoginPass = DBService.SHA1Hash(model.Password);
                user.Name      = model.RealName;
                user.Email     = model.Email;
                user.RoleId    = 0;
                user.Status    = 0;
                int uid = DBService.AddEntity <St_user>(user, true);

                if (uid > 0)
                {
                    var member = new St_member();
                    member.Addr      = model.Addr;
                    member.AddTime   = DateTime.Now;
                    member.Email     = model.Email;
                    member.HadVerify = false;
                    member.Level     = "普通会员";
                    member.Mobile    = model.Mobile;
                    member.QQ        = model.QQ;
                    member.RealName  = model.RealName ?? model.UserName;
                    member.Remark    = model.Other;
                    member.Tel       = model.Tel;
                    member.UserId    = uid;
                    member.Wechat    = model.Wechat;
                    int memid = DBService.AddEntity <St_member>(member, true);
                    if (memid > 0)
                    {
                        var claims = new List <Claim>();
                        claims.Add(new Claim(ClaimTypes.Name, model.UserName));
                        claims.Add(new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()));
                        claims.Add(new Claim("http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider", "ASP.NET Identity"));
                        claims.Add(new Claim(ClaimTypes.Role, "0"));
                        claims.Add(new Claim("Sex", user.Sex.HasValue && user.Sex.Value ? "1" : "0"));
                        claims.Add(new Claim("DisplayName", user.Name));

                        var identity = new ClaimsIdentity(claims, "MyClaimsLogin");
                        AuthenticationManager.SignIn(new AuthenticationProperties()
                        {
                            IsPersistent = false
                        }, identity);

                        if (!string.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl))
                        {
                            return(Redirect(returnUrl));
                        }
                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "无法注册用户!");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "无法添加用户!");
                }
            }

            return(View(model));
        }