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); } }
/// <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)); }
// GET: Home public ActionResult Index() { Book.BLL.Home bll = new BLL.Home(); Book.Model.Home home = bll.GetCount(); ViewBag.home = home; return(View()); }
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("登录失败,账号密码错误")); } }
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")); }
/// <summary> /// 获取全部的角色 /// </summary> /// <returns></returns> public JsonResult GetRoleMenu(int RoleId) { BLL.Home bll = new BLL.Home(); return(Json(bll.GetRoleMenu(RoleId))); }
/// <summary> /// 获取全部的角色 /// </summary> /// <returns></returns> public JsonResult GetRole() { BLL.Home bll = new BLL.Home(); return(Json(bll.GetRole())); }