Ejemplo n.º 1
0
        public ActionResult Authority()
        {
            int    userid = (int)Session["user_id"];
            string jsid   = Request["jsid"] ?? "";

            if (jsid == "")
            {
                jsid = "0";
            }
            Iauth_jueseService jueseservice = ServiceFactory.auth_jueseservice;
            auth_juese         juese        = jueseservice.GetEntityById(auth_juese => auth_juese.ID == int.Parse(jsid) && auth_juese.IsDelete == false);

            if (juese == null)
            {
                return(View());
            }
            auth_authorizeViewModel authorview = new auth_authorizeViewModel();

            authorview.RoleID   = juese.ID;
            authorview.RoleName = juese.RoleName;
            IuserinfoService userservice = ServiceFactory.userinfoservice;
            IList <userinfo> users       = userservice.LoadSortEntities(userinfo => userinfo.IsDelete == false, true, userinfo => userinfo.FullName).ToList <userinfo>();
            //Iauth_quanxianService qxservice = ServiceFactory.auth_quanxianservice;
            IList <auth_quanxian> qxs = ob_auth_quanxianservice.LoadSortEntities(auth_quanxian => auth_quanxian.IsDelete == false && auth_quanxian.JSID == int.Parse(jsid), true, auth_quanxian => auth_quanxian.RYID).ToList <auth_quanxian>();

            authorview.AllUser        = users;
            authorview.AuthorizedUser = qxs;
            return(View(authorview));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var smallscreen = "0";

            if (returnUrl == "wince")
            {
                smallscreen = "1";
            }
            // 这不会计入到为执行帐户锁定而统计的登录失败次数中
            // 若要在多次输入错误密码的情况下触发帐户锁定,请更改为 shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

            switch (result)
            {
            case SignInStatus.Success:
                IuserinfoService us = ServiceFactory.userinfoservice;
                userinfo         ui = us.GetEntityById(userinfo => userinfo.Account == model.Email);
                if (ui == null)
                {
                    ModelState.AddModelError("", "无效的登录尝试。");
                    return(View(model));
                }
                else
                {
                    StateGroup.CreateSession(this.HttpContext, model.Email, ui.ID, ui.FullName);
                    //Session["user_account"] = model.Email;
                    //Session["user_id"] = ui.ID;
                    //Session["user_name"] = ui.FullName;
                    log4net.LogManager.GetLogger(ui.ID.ToString()).Info(string.Format("{0} login at {1}!", ui.FullName, DateTime.Now.ToString()));
                    StateGroup.CreateCookie(this.HttpContext, model.Email, ui.ID, ui.FullName);
                    if (smallscreen == "1")
                    {
                        return(RedirectToLocal("/wms_scanhome"));
                    }
                    else
                    {
                        return(RedirectToLocal(returnUrl));
                    }
                }

            case SignInStatus.LockedOut:
                return(View("Lockout"));

            case SignInStatus.RequiresVerification:
                return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "无效的登录尝试。");
                return(View(model));
            }
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    // 有关如何启用帐户确认和密码重置的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkID=320771
                    // 发送包含此链接的电子邮件
                    string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);

                    var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    await UserManager.SendEmailAsync(user.Id, "确认你的帐户", "请通过单击 <a href=\"" + callbackUrl + "\">這裏</a>来确认你的帐户");

                    //add user info
                    IuserinfoService uiservice = ServiceFactory.userinfoservice;
                    userinfo         ui        = new userinfo();
                    ui.Account     = model.Email;
                    ui.FullName    = model.Email.Substring(0, model.Email.IndexOf('@'));
                    ui.AccountType = 1;
                    ui.Status      = 1;
                    ui.InputDate   = DateTime.Now;
                    ui.ModifyDate  = DateTime.Now;
                    ui             = uiservice.AddEntity(ui);
                    if (ui != null)
                    {
                        Session["user_account"] = ui.Account;
                        Session["user_id"]      = ui.ID;
                        Session["user_name"]    = ui.FullName;
                    }
                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            // 如果我们进行到这一步时某个地方出错,则重新显示表单
            return(View(model));
        }