예제 #1
0
        public ActionResult Login([Bind(Include = "Name,Password")] Member m)
        {
            //驗證帳密
            var member = accountService.Login(m);

            if (member != null)
            {
                //Authenticaion
                WebSiteHelper.Authentication(member);
                //Authenticaion



                if (!member.Name.Equals("admin"))
                {
                    string controllerName = WebSiteHelper.GetFeature(member.Name).GetFirstAccessFeature();
                    if (controllerName != null)
                    {
                        return(RedirectToAction("Index", controllerName));
                    }
                    else
                    {
                        return(RedirectToAction("Logout", "Home"));
                    }
                }
                return(RedirectToAction("Index", "Members"));
            }
            else
            {
                ViewBag.errorMsg = "wrong name or password";
            }
            return(View());
        }
예제 #2
0
        //請求授權時執行
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            //獲得url請求裡的controller和action
            string controllerName =
                filterContext.RouteData.Values["controller"].ToString().ToString();
            Feature feature = WebSiteHelper.GetFeature();

            featureAccess = false;
            switch (controllerName)
            {
            case "Infors":
                if (feature.FeatInfor)
                {
                    featureAccess = true;
                }
                break;

            case "LogRecords":
                if (feature.FeatLogRec)
                {
                    featureAccess = true;
                }
                break;

            default:
                break;
            }


            base.OnAuthorization(filterContext);//進入AuthorizeCore
        }
예제 #3
0
        protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
        {
            Feature feature        = WebSiteHelper.GetFeature();
            string  controllerName = feature.GetFirstAccessFeature();

            if (controllerName != null)
            {
                //導到別頁
                filterContext.HttpContext.Response.RedirectToRoute(new { controller = controllerName, action = "Index" });
            }
            else
            {
                //用URL
                filterContext.HttpContext.Response.Redirect("~/Home/Logout");
            }


            //filterContext.Result = new ViewResult { ViewName = AuthorizationFailView };
        }