Exemple #1
0
        public ActionResult SignUp(MVCUser User)
        {
            User userDto = Mapper.Map <DbCenter.ModelClasses.User>(User);

            ESaleContext.AddUser(userDto);
            ESaleContext.SaveChanges();
            return(RedirectToAction("Index", "Home"));
        }
Exemple #2
0
        public ActionResult Login(MVCUser user)
        {
            User userDto = Mapper.Map <User>(user);
            var  result  = ESaleContext.LoginUser(userDto);

            if (!result.Any())
            {
                @ViewBag.errorMessage = "Email And Password not matched !";
                return(View());
            }
            else
            {
                Session["UserID"] = result.First().ID;
                Session["Type"]   = "User";
                return(RedirectToAction("Index", "Home"));
            }
        }
Exemple #3
0
        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            if (!filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true) && !filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true))
            {
                UserModel userModel;
                if (filterContext.Controller.ViewBag.UserModel == null)
                {
                    userModel = new UserModel();
                    filterContext.Controller.ViewBag.UserModel = userModel;
                }
                else
                {
                    userModel = filterContext.Controller.ViewBag.UserModel as UserModel;
                }

                if (filterContext.HttpContext.User.Identity.IsAuthenticated)
                {
                    MVCUser mvcUser = filterContext.HttpContext.User.GetMVCUser();
                    userModel.IsUserAuthenticated = mvcUser.IsAuthenticated;
                    userModel.Name     = mvcUser.Name;
                    userModel.RoleName = mvcUser.RoleName;
                    userModel.FacId    = mvcUser.FacId;
                    userModel.Dept     = mvcUser.Dept;
                    userModel.ClassID  = mvcUser.ClassID;


                    var roleKey = "RoleKey";
                    foreach (var item in mvcUser.Roles)
                    {
                        roleKey += item;
                    }

                    var controllerName = filterContext.RouteData.Values["controller"].ToString();
                    filterContext.Controller.ViewBag.ReturnUrl = controllerName;
                    //只能從Controller 因設計上是用Controller去切功能模組
                    var permissionOperationMap = HttpRuntime.Cache.GetOrInsert <Dictionary <string, EnumOperation> >(roleKey, () => PermissionUtils.GetPermissionOperationMap(mvcUser.Roles));

                    userModel.Operation = permissionOperationMap.ContainsKey(controllerName) ?
                                          permissionOperationMap[controllerName] : EnumOperation.None;
                }

                base.OnActionExecuted(filterContext);
            }
        }
Exemple #4
0
        private void PostAuthenticateRequestHandler(object sender, EventArgs e)
        {
            HttpCookie authCookie = this.Context.Request.Cookies[FormsAuthentication.FormsCookieName];

            if (authCookie != null && !string.IsNullOrEmpty(authCookie.Value))
            {
                //var formsAuthentication = DependencyResolver.Current.GetService<IFormsAuthentication>();
                IFormsAuthentication formsAuthentication = new DefaultFormsAuthentication();

                var ticket = formsAuthentication.Decrypt(authCookie.Value);
                try
                {
                    var mvcUser = new MVCUser(ticket);
                    this.Context.User = new GenericPrincipal(mvcUser, null);
                    formsAuthentication.SetAuthCookie(this.Context, ticket);
                }
                catch
                {
                    //清掉Session重登
                    formsAuthentication.Signout();
                    HttpContext.Current.User = new GenericPrincipal(new GenericIdentity(string.Empty), null);
                }
            }
        }
Exemple #5
0
        public ActionResult Login()
        {
            MVCUser viewmodel = new MVCUser();

            return(View(viewmodel));
        }
Exemple #6
0
        public ActionResult SignUp()
        {
            MVCUser viewmodel = new MVCUser();

            return(View(viewmodel));
        }