Exemplo n.º 1
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);

            object[] objAllowedAnonymousArray =
                filterContext.ActionDescriptor.GetCustomAttributes(typeof(AllowedAnonymous), false);
            if (objAllowedAnonymousArray.Length > 0)
            {
                return;
            }

            UserContext = SessionContainer.GetUserContext(HttpContext) as ShellUserContext;

            if (UserContext == null)
            {
                //返回登录超时的消息
            }
        }
Exemplo n.º 2
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);

            object[] objAllowedAnonymousArray =
                filterContext.ActionDescriptor.GetCustomAttributes(typeof(AllowedAnonymous), false);
            if (objAllowedAnonymousArray.Length > 0)
            {
                return;
            }

            UserContext = SessionContainer.GetUserContext(HttpContext) as ShellUserContext;

            if (UserContext == null)
            {
                //重定向到登录页面
                filterContext.Result = new RedirectResult("/Home/Login");
                return;
            }

            ViewBag.UserContext = UserContext;
        }
Exemplo n.º 3
0
        public ActionResult Login()
        {
            ParametersContainer args = RequestArgs <ParametersContainer>();

            if (args == null)
            {
                return(FailedResult("参数无效。"));
            }

            NormalResult <UserContext> result = _userContextManager.Login(args.GetValue("Account"), args.GetValue("Password"));

            if (result.Successful)
            {
                ShellUserContext userContext = Mapper.Map <ShellUserContext>(result.Data);
                userContext.User = UserManager.Instance.GetUser(userContext.UserId);
                SessionContainer.SetUserContext(HttpContext, userContext);

                return(DataResult(result.Data));
            }
            else
            {
                return(FailedResult(result.Message));
            }
        }