コード例 #1
0
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            var isAuth           = false;
            var actionDescriptor = filterContext.ActionDescriptor;
            var controller       = actionDescriptor.ControllerDescriptor.ControllerName;
            var action           = actionDescriptor.ActionName;
            var ticket           = (filterContext.RequestContext.HttpContext.User.Identity as FormsIdentity).Ticket;

            var RoleId = ticket.Version;

            Book.BLL.Home bll_home             = new BLL.Home();
            List <Book.Model.T_Base_Menu> list = bll_home.GetList(RoleId, controller, action);

            if (list.Count >= 1)
            {
                isAuth = true;
            }
            if (!isAuth)
            {
                filterContext.Result = new RedirectToRouteResult(
                    new System.Web.Routing.RouteValueDictionary(
                        new { controller = "home", action = "login" }
                        )
                    );
            }
            else
            {
                base.OnAuthorization(filterContext);
            }
        }
コード例 #2
0
        /// <summary>
        /// 检测账号密码
        /// </summary>
        /// <param name="Num"></param>
        /// <param name="Password"></param>
        /// <returns></returns>
        public JsonResult Check(string Num, string Password)
        {
            int result = new BLL.Home().Check(Num, Password);
            int role   = 0;

            if (result == -2 || result == -3)
            {
                if (result == -2)
                {
                    role = new BLL.T_Base_User().GetUser(Num).Role;
                }
                else if (result == -3)
                {
                    role = new BLL.T_Base_Admin().GetAdmin(Num).Role;
                }
                //记录票据
                FormsAuthentication.SetAuthCookie(Num, false); //简单授权
                var authTicket = new FormsAuthenticationTicket(
                    role,                                      //角色
                    "" + Num,                                  //登录用户Id
                    DateTime.Now,                              //当前时间
                    DateTime.Now.AddDays(30),                  //保存时间
                    true,                                      // 如果为 true,则创建持久 Cookie(跨浏览器会话保存的 Cookie);否则为 false。
                    ""                                         //存储在票证中的用户特定的数据
                    );
                HttpCookie authCookie = new HttpCookie(
                    FormsAuthentication.FormsCookieName,
                    FormsAuthentication.Encrypt(authTicket));

                Response.Cookies.Add(authCookie);
            }
            return(Json(role));
        }
コード例 #3
0
ファイル: HomeController.cs プロジェクト: changyemenglv/Book
 // GET: Home
 public ActionResult Index()
 {
     Book.BLL.Home   bll  = new BLL.Home();
     Book.Model.Home home = bll.GetCount();
     ViewBag.home = home;
     return(View());
 }
コード例 #4
0
ファイル: HomeController.cs プロジェクト: changyemenglv/rjgc
        public JsonResult Check(int RoleId, string LoginName, string Password, int SchoolId = -1)
        {
            BLL.Home bll     = new BLL.Home();
            int      roleId  = -1;
            int      loginId = -1;

            if (RoleId == 2)
            {
                Model.Teacher teacher = (Model.Teacher)bll.Check(RoleId, SchoolId, LoginName, Password);
                roleId  = teacher.RoleId;
                loginId = teacher.Id;
            }
            else if (RoleId == 4)
            {
                Model.Student student = (Model.Student)bll.Check(RoleId, SchoolId, LoginName, Password);
                roleId  = student.RoleId;
                loginId = student.Id;
            }
            else if (RoleId == 5)
            {
                Model.User user = (Model.User)bll.Check(RoleId, SchoolId, LoginName, Password);
                roleId  = user.RoleId;
                loginId = user.Id;
            }
            if (roleId != -1)
            {
                //记录票据
                FormsAuthentication.SetAuthCookie(LoginName, false); //简单授权
                var authTicket = new FormsAuthenticationTicket(
                    roleId,                                          //角色
                    "" + loginId,                                    //登录用户Id
                    DateTime.Now,                                    //当前时间
                    DateTime.Now.AddMinutes(5),                      //保存时间
                    true,                                            // 如果为 true,则创建持久 Cookie(跨浏览器会话保存的 Cookie);否则为 false。
                    ""                                               //存储在票证中的用户特定的数据
                    );
                HttpCookie authCookie = new HttpCookie(
                    FormsAuthentication.FormsCookieName,
                    FormsAuthentication.Encrypt(authTicket));

                Response.Cookies.Add(authCookie);
                return(Json("登录成功"));
            }
            else
            {
                return(Json("登录失败,账号密码错误"));
            }
        }
コード例 #5
0
ファイル: HomeController.cs プロジェクト: changyemenglv/Book
        public ActionResult Check(string LoginName, string Password)
        {
            Book.BLL.Home          bll  = new BLL.Home();
            Book.Model.T_Base_User user = bll.Check(LoginName, Password);


            //记录票据
            FormsAuthentication.SetAuthCookie(LoginName, true); //简单授权
            var authTicket = new FormsAuthenticationTicket(
                user.RoleId,                                    //角色
                LoginName,                                      //登录名
                DateTime.Now,                                   //当前时间
                DateTime.Now.AddMinutes(5),                     //保存时间
                true,                                           // 如果为 true,则创建持久 Cookie(跨浏览器会话保存的 Cookie);否则为 false。
                ""                                              //存储在票证中的用户特定的数据
                );
            HttpCookie authCookie = new HttpCookie(
                FormsAuthentication.FormsCookieName,
                FormsAuthentication.Encrypt(authTicket));

            Response.Cookies.Add(authCookie);
            return(RedirectToAction("/Index"));
        }
コード例 #6
0
 /// <summary>
 /// 获取全部的角色
 /// </summary>
 /// <returns></returns>
 public JsonResult GetRoleMenu(int RoleId)
 {
     BLL.Home bll = new BLL.Home();
     return(Json(bll.GetRoleMenu(RoleId)));
 }
コード例 #7
0
ファイル: HomeController.cs プロジェクト: changyemenglv/rjgc
 /// <summary>
 /// 获取全部的角色
 /// </summary>
 /// <returns></returns>
 public JsonResult GetRole()
 {
     BLL.Home bll = new BLL.Home();
     return(Json(bll.GetRole()));
 }