diff --git a/OpenAuth.App/LoginApp.cs b/OpenAuth.App/LoginApp.cs index e4b654eb..38a25a5d 100644 --- a/OpenAuth.App/LoginApp.cs +++ b/OpenAuth.App/LoginApp.cs @@ -69,6 +69,11 @@ namespace OpenAuth.App } }; loginUser.Modules = _moduleRepository.Find(null).MapToList(); + //ģIJ˵ + foreach (var module in loginUser.Modules) + { + module.Elements = _moduleElementRepository.Find(u => u.ModuleId == module.Id).ToList(); + } return loginUser; } } diff --git a/OpenAuth.Mvc/Controllers/BaseController.cs b/OpenAuth.Mvc/Controllers/BaseController.cs index 851c59e3..2e2c4bc8 100644 --- a/OpenAuth.Mvc/Controllers/BaseController.cs +++ b/OpenAuth.Mvc/Controllers/BaseController.cs @@ -12,11 +12,10 @@ // 基础控制器,设置权限 // *********************************************************************** -using System; -using System.Linq; using Infrastructure.Helper; using OpenAuth.App.ViewModel; using OpenAuth.Mvc.Models; +using System.Linq; using System.Web.Mvc; namespace OpenAuth.Mvc.Controllers @@ -34,18 +33,22 @@ namespace OpenAuth.Mvc.Controllers return; } - if (Request.Url != null) + string url = Request.Url.LocalPath; + if (url != "/" + && !url.Contains("Main") + && !url.Contains("Error") + && !url.Contains("Git")) { - string url = Request.Url.LocalPath; - if(url !="/" - && !url.Contains("Main") - && !url.Contains("Error") - && !url.Contains("Git") - && !loginUser.Modules.Any(u => url.Contains(u.Url))) - { - filterContext.Result = new RedirectResult("/Login/Index"); - return; - } + var module = loginUser.Modules.FirstOrDefault(u => url.Contains(u.Url)); + if (module == null) + { + filterContext.Result = new RedirectResult("/Login/Index"); + return; + } + else + { + ViewBag.Module = module; + } } base.OnActionExecuting(filterContext); } diff --git a/OpenAuth.Mvc/Views/UserManager/Index.cshtml b/OpenAuth.Mvc/Views/UserManager/Index.cshtml index bc19534c..dc13353d 100644 --- a/OpenAuth.Mvc/Views/UserManager/Index.cshtml +++ b/OpenAuth.Mvc/Views/UserManager/Index.cshtml @@ -29,6 +29,15 @@ $('#@_treeDetail').empty() .append('
'); + @{ + string strBtns = string.Empty; + foreach (var element in ViewBag.Module.Elements) + { + strBtns +=""; + + } + } + grid = $(gridid).datagrid({ gridTitle: '用户列表', showToolbar: true, @@ -37,8 +46,8 @@ toolbarCustom: '添加' + '' + - ''+ - '', + '' + + '' + '@strBtns', columns: [ { name: 'Id', @@ -179,7 +188,7 @@ //用户模块授权按钮 function openModuleAccess(obj) { - + var selected = getSelected(2); if (selected == null) return;