public static MvcHtmlString GenerateMenu(this HtmlHelper htmlHelper) { StringBuilder sb = new StringBuilder(); string s = "Dashboard.Service.Services.MasterData.SysManagement.SysFunctionService"; ISysFunction <SysFunction> service = (ISysFunction <SysFunction>)Assembly.Load("Dashboard.Service").CreateInstance(s); var userRoleId = Authentication.CurrentUser.SysRole.SysRoleId; List <FunctionGroupType> groupTypes = (from g in service.GetMenuGroup(userRoleId) select(FunctionGroupType) g).ToList(); foreach (var group in groupTypes) { sb.Append("<div class='accordionHeader'>"); sb.Append("<h2>"); sb.Append(string.Format("<span class='Folder_{0}'>Folder</span><={0}></h2>", group.ToString(), group.ToString())); sb.Append("</div>"); /*分组结束*/ sb.Append("<div class='accordionContent'>"); sb.Append(" <ul class='tree'>"); foreach (var m in service.GetMenuFromGroup(userRoleId, (int)group)) { string url = string.Format("<a href='/{0}/{1}' target='navTab' rel='{2}' fresh='false' external='true' ><div class='{3}'></div><={4}.{5}></a>" , m.ControllerName, m.ActionName, m.SysFunctionId, m.ControllerName + '_' + m.ActionName, m.ControllerName, m.ActionName); sb.Append(string.Format("<li>{0}</li>", url)); } sb.Append(" </ul></div>"); } return(MvcHtmlString.Create(sb.ToString())); }
public JsonResult UserLogOn_Pad(FormCollection collection) { Language lang; var service = new SysUserService(); SysUser user = service.Login(collection["UserName"], collection["Password"]); if (user == null || string.Compare(user.Pwd, collection["Password"], false) != 0) { return(Json(new { success = false, msg = "<=PwdorNameError>" })); } else { DateTime dt = DateTime.Today; if (!(user.ValidDateFrom <= dt && user.ValidDateTo >= dt) || !user.Active) { return(Json(new { success = false, msg = "<=UserExpireError>" })); } //密码过期修改 if (!user.PasswordDate.HasValue) { string errorMsg = string.Empty; user.PasswordDate = DateTime.Now.Date; bool success = service.Save(user, out errorMsg); if (!success) { return(Json(new { success = false, msg = errorMsg })); } } else { if (user.PasswordDate.Value.AddDays(30).Date <= DateTime.Now.Date) { lang = (Language)int.Parse(collection["Lang"]); Response.Cookies["Lang"].Value = lang == Language.English ? "English" : "SimplifiedChinese"; Response.Cookies["Lang"].Expires = DateTime.Now.AddDays(365); return(Json(new { success = false, msg = "expired" })); } } FormsService.SignIn(collection["UserName"], false); lang = (Language)int.Parse(collection["Lang"]); Response.Cookies["Lang"].Value = lang == Language.English ? "English" : "SimplifiedChinese"; Response.Cookies["Lang"].Expires = DateTime.Now.AddDays(365); string s = "FrogDashboard.Service.Services.MasterData.SysManagement.SysFunctionService"; ISysFunction <SysFunction> service_ = (ISysFunction <SysFunction>)Assembly.Load("FrogDashboard.Service").CreateInstance(s); var userRoleId = user.RoleId; if (service_.GetUserFunction(userRoleId).Where(c => c.ControllerName == "OrderManagement" && c.ActionName == "TmsForPad").Count() > 0) { return(Json(new { success = true, msg = "<LoginSuccess>", URL = "Pad" })); } else { return(Json(new { success = true, msg = "<LoginSuccess>", URL = "Index" })); } } }
public static bool HasPermission(string controller, string action) { StringBuilder sb = new StringBuilder(); string s = "Dashboard.Service.Services.MasterData.SysManagement.SysFunctionService"; ISysFunction <SysFunction> service = (ISysFunction <SysFunction>)Assembly.Load("Dashboard.Service").CreateInstance(s); var userRoleId = CurrentUser.RoleId; if (service.GetUserPermission(userRoleId).Any(c => string.Compare(c.ControllerName, controller, true) == 0 && string.Compare(c.ActionName, action, true) == 0)) { return(true); } else { return(false); } }
// public SysUserDBAccess _userAccess = new SysUserDBAccess(); public ActionResult Index() { string domainAndName = System.Web.HttpContext.Current.User.Identity.Name; var userRoles = Authentication.Authentication.GetUserRoles(); ViewBag.UserRoles = userRoles; ViewBag.SysRole = Authentication.Authentication.CurrentUserRole; string s = "Dashboard.Service.Services.MasterData.SysManagement.SysFunctionService"; ISysFunction <SysFunction> service_ = (ISysFunction <SysFunction>)Assembly.Load("Dashboard.Service").CreateInstance(s); var userRoleId = Authentication.Authentication.CurrentUser.RoleId; var str = Request.Browser.Browser; if (str == "Safari" && service_.GetUserFunction(userRoleId).Where(c => c.ControllerName == "OrderManagement" && c.ActionName == "TmsForPad").Count() > 0) { return(Redirect("/OrderManagement/TmsOrderForPad")); } return(View()); }
/// <summary> /// 功能权限 /// </summary> /// <param name="controller">按钮所在的controller</param> /// <param name="action">按钮所在的action</param> /// <param name="id">按钮的html id</param> /// <param name="value">按钮的名称</param> /// <returns></returns> public static MvcHtmlString GenerateButton(this HtmlHelper htmlHelper, string controller, string action, string id, string value) { StringBuilder sb = new StringBuilder(); string s = "Dashboard.Service.Services.MasterData.SysManagement.SysFunctionService"; ISysFunction <SysFunction> service = (ISysFunction <SysFunction>)Assembly.Load("Dashboard.Service").CreateInstance(s); var userRoleId = Authentication.CurrentUser.RoleId; if (service.GetUserFunction(userRoleId).Any(c => string.Compare(c.ControllerName, controller, true) == 0 && string.Compare(c.ActionName, action, true) == 0)) { sb.Append(string.Format("<input type='button' class='button' id='{0}' value='{1}' />", id, value)); } else { //sb.Append(string.Format("<input type='button' class='button' id='{0}' value='{1}' disabled= 'disabled'/>", id, value)); sb.Append(string.Format("<input type='button' class='button' id='{0}' value='{1}' style= 'display:none;'/>", id, value)); } return(MvcHtmlString.Create(sb.ToString())); }
public RoleController(ISysRole repositoryRole, ISysFunction repositoryFun, ISysMenu repositoryMenu) { ISysRoleService = repositoryRole; ISysFunctionService = repositoryFun; ISysMenuService = repositoryMenu; }
public MenuController(ISysFunction repositoryFun, ISysMenu repositoryMenu) { ISysFunctionService = repositoryFun; ISysMenuService = repositoryMenu; }