From 3dea7d00f03aad68931a00ea6eb966e1ff33a766 Mon Sep 17 00:00:00 2001 From: yubaolee Date: Tue, 19 Jul 2016 11:44:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=83=A8=E5=88=86=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Infrastructure/DynamicLinq.cs | 5 + OpenAuth.App/{LoginApp.cs => AuthorizeApp.cs} | 88 ++++++------- OpenAuth.App/OpenAuth.App.csproj | 4 +- OpenAuth.App/SSO/AuthUtil.cs | 4 +- OpenAuth.App/SSO/SSOAuthAttribute.cs | 6 +- OpenAuth.App/SSO/SSOController.cs | 8 +- ...oginUserVM.cs => UserWithAccessedCtrls.cs} | 92 +++++++------- OpenAuth.Domain/Service/AuthoriseService.cs | 117 ++++++++++-------- .../Service/ModuleEleManService.cs | 4 +- OpenAuth.Domain/Service/ModuleManService.cs | 2 +- OpenAuth.Domain/Service/ResManagerService.cs | 4 +- .../Service/StockManagerService.cs | 2 +- OpenAuth.Mvc/AutofacExt.cs | 2 +- OpenAuth.Mvc/Controllers/BaseController.cs | 34 +++-- OpenAuth.Mvc/Controllers/HomeController.cs | 3 +- .../Controllers/ModuleManagerController.cs | 5 +- .../Controllers/OrgManagerController.cs | 3 +- OpenAuth.UnitTest/TestAuthen.cs | 2 +- .../Areas/SSO/Controllers/CheckController.cs | 6 +- OpenAuth.WebApi/AutofacExt.cs | 2 +- 20 files changed, 207 insertions(+), 186 deletions(-) rename OpenAuth.App/{LoginApp.cs => AuthorizeApp.cs} (54%) rename OpenAuth.App/ViewModel/{LoginUserVM.cs => UserWithAccessedCtrls.cs} (83%) diff --git a/Infrastructure/DynamicLinq.cs b/Infrastructure/DynamicLinq.cs index 09f3ace4..1f3c16c9 100644 --- a/Infrastructure/DynamicLinq.cs +++ b/Infrastructure/DynamicLinq.cs @@ -63,6 +63,11 @@ namespace Infrastructure { right = Expression.Constant(filterObj.Value.Equals("1")); } + else if (property.PropertyType == typeof(Guid?)) + { + left = Expression.Property(left, "Value"); + right = Expression.Constant(Guid.Parse(filterObj.Value)); + } else { throw new Exception("暂不能解析该Key的类型"); diff --git a/OpenAuth.App/LoginApp.cs b/OpenAuth.App/AuthorizeApp.cs similarity index 54% rename from OpenAuth.App/LoginApp.cs rename to OpenAuth.App/AuthorizeApp.cs index 02e598dd..f058bfae 100644 --- a/OpenAuth.App/LoginApp.cs +++ b/OpenAuth.App/AuthorizeApp.cs @@ -1,49 +1,41 @@ -using System.Linq; -using System.Web; -using Infrastructure; -using OpenAuth.App.ViewModel; -using OpenAuth.App.SSO; -using OpenAuth.Domain.Service; - -namespace OpenAuth.App -{ - public class LoginApp - { - private AuthoriseService _service; - - public LoginApp(AuthoriseService service) - { - _service = service; - } - - public LoginUserVM GetLoginUser() - { - if (!AuthUtil.CheckLogin()) - { - throw new HttpException(401,"未登录"); - } - - return AuthUtil.GetCurrentUser(); - } - - public LoginUserVM GetLoginUser(string username) - { - _service.GetUserAccessed(username); - var user = new LoginUserVM - { - User = _service.User, - AccessedOrgs = _service.Orgs, - Modules = _service.Modules.MapToList(), - Resources = _service.Resources, - }; - - foreach (var moduleView in user.Modules) - { - moduleView.Elements = - _service.ModuleElements.Where(u => u.ModuleId == moduleView.Id).OrderBy(u => u.Sort).ToList(); - } - - return user; - } - } +using System.Linq; +using Infrastructure; +using OpenAuth.App.ViewModel; +using OpenAuth.Domain.Service; + +namespace OpenAuth.App +{ + /// + /// 加载用户所有可访问的资源/机构/模块 + /// 李玉宝新增于2016-07-19 10:53:30 + /// + public class AuthorizeApp + { + private readonly AuthoriseService _service; + + public AuthorizeApp(AuthoriseService service) + { + _service = service; + } + + public UserWithAccessedCtrls GetAccessedControls(string username) + { + _service.LoadAuthControls(username); + var user = new UserWithAccessedCtrls + { + User = _service.User, + AccessedOrgs = _service.Orgs, + Modules = _service.Modules.MapToList(), + Resources = _service.Resources, + }; + + foreach (var moduleView in user.Modules) + { + moduleView.Elements = + _service.ModuleElements.Where(u => u.ModuleId == moduleView.Id).OrderBy(u => u.Sort).ToList(); + } + + return user; + } + } } \ No newline at end of file diff --git a/OpenAuth.App/OpenAuth.App.csproj b/OpenAuth.App/OpenAuth.App.csproj index 8db860fe..ad265fc8 100644 --- a/OpenAuth.App/OpenAuth.App.csproj +++ b/OpenAuth.App/OpenAuth.App.csproj @@ -73,7 +73,7 @@ - + @@ -94,7 +94,7 @@ - + diff --git a/OpenAuth.App/SSO/AuthUtil.cs b/OpenAuth.App/SSO/AuthUtil.cs index a7fe60c0..04d8796f 100644 --- a/OpenAuth.App/SSO/AuthUtil.cs +++ b/OpenAuth.App/SSO/AuthUtil.cs @@ -74,14 +74,14 @@ namespace OpenAuth.App.SSO /// /// The remark. /// LoginUserVM. - public static LoginUserVM GetCurrentUser(string remark = "") + public static UserWithAccessedCtrls GetCurrentUser(string remark = "") { var requestUri = String.Format("/SSO/Check/GetUser?token={0}&requestid={1}", GetToken(), remark); try { - var value = _helper.Get(null, requestUri); + var value = _helper.Get(null, requestUri); return value; } catch (Exception ex) diff --git a/OpenAuth.App/SSO/SSOAuthAttribute.cs b/OpenAuth.App/SSO/SSOAuthAttribute.cs index d4263acf..83ca006c 100644 --- a/OpenAuth.App/SSO/SSOAuthAttribute.cs +++ b/OpenAuth.App/SSO/SSOAuthAttribute.cs @@ -39,7 +39,7 @@ namespace OpenAuth.App.SSO if (string.IsNullOrEmpty(token)) { //直接登录 - filterContext.Result = SsoLoginResult(cookieSessionUserName); + filterContext.Result = LoginResult(cookieSessionUserName); } else { @@ -47,14 +47,14 @@ namespace OpenAuth.App.SSO if (AuthUtil.CheckLogin(token, request.RawUrl) == false) { //会话丢失,跳转到登录页面 - filterContext.Result = SsoLoginResult(cookieSessionUserName); + filterContext.Result = LoginResult(cookieSessionUserName); } } base.OnActionExecuting(filterContext); } - private static ActionResult SsoLoginResult(string username) + private static ActionResult LoginResult(string username) { //跳转到SSO站点登陆 //return new RedirectResult(string.Format("{0}/sso/login?appkey={1}&username={2}", diff --git a/OpenAuth.App/SSO/SSOController.cs b/OpenAuth.App/SSO/SSOController.cs index 3c16e60f..2f21a9e3 100644 --- a/OpenAuth.App/SSO/SSOController.cs +++ b/OpenAuth.App/SSO/SSOController.cs @@ -57,7 +57,8 @@ namespace OpenAuth.App.SSO if (string.IsNullOrEmpty(token)) { //直接登录 - filterContext.Result = SsoLoginResult(cookieSessionUserName); + filterContext.Result = LoginResult(cookieSessionUserName); + return; } else { @@ -65,14 +66,15 @@ namespace OpenAuth.App.SSO if (AuthUtil.CheckLogin(token, request.RawUrl) == false) { //会话丢失,跳转到登录页面 - filterContext.Result = SsoLoginResult(cookieSessionUserName); + filterContext.Result = LoginResult(cookieSessionUserName); + return; } } base.OnActionExecuting(filterContext); } - private static ActionResult SsoLoginResult(string username) + private static ActionResult LoginResult(string username) { //跳转到SSO站点登陆 //return new RedirectResult(string.Format("{0}/sso/login?appkey={1}&username={2}", diff --git a/OpenAuth.App/ViewModel/LoginUserVM.cs b/OpenAuth.App/ViewModel/UserWithAccessedCtrls.cs similarity index 83% rename from OpenAuth.App/ViewModel/LoginUserVM.cs rename to OpenAuth.App/ViewModel/UserWithAccessedCtrls.cs index 7b216ab9..0c4e4e52 100644 --- a/OpenAuth.App/ViewModel/LoginUserVM.cs +++ b/OpenAuth.App/ViewModel/UserWithAccessedCtrls.cs @@ -1,45 +1,47 @@ -// *********************************************************************** -// Assembly : OpenAuth.App -// Author : Yubao Li -// Created : 12-01-2015 -// -// Last Modified By : Yubao Li -// Last Modified On : 12-01-2015 -// *********************************************************************** -// -// Copyright (c) . All rights reserved. -// -// 登陆视图模型 -// *********************************************************************** - -using System.Collections.Generic; -using OpenAuth.Domain; - -namespace OpenAuth.App.ViewModel -{ - /// - /// 登陆用户视图模型 - /// - public class LoginUserVM - { - public User User { get; set; } - /// - /// 用户可以访问到的模块(包括所属角色与自己的所有模块) - /// - public List Modules { get; set; } - - //用户可以访问的资源 - public List Resources { get; set; } - - /// - /// 用户所属机构 - /// - public List Orgs { get; set; } - - /// - /// 用户可访问的机构 - /// - public IEnumerable AccessedOrgs { get; set; } - } - -} +// *********************************************************************** +// Assembly : OpenAuth.App +// Author : Yubao Li +// Created : 12-01-2015 +// +// Last Modified By : Yubao Li +// Last Modified On : 12-01-2015 +// *********************************************************************** +// +// Copyright (c) . All rights reserved. +// +// 用户及权限视图模型 +// *********************************************************************** + +using System.Collections.Generic; +using OpenAuth.Domain; + +namespace OpenAuth.App.ViewModel +{ + /// + /// 视图模型 + /// 包括用户及用户可访问的机构/资源/模块 + /// 李玉宝修改于2016-07-19 10:57:31 + /// + public class UserWithAccessedCtrls + { + public User User { get; set; } + /// + /// 用户可以访问到的模块(包括所属角色与自己的所有模块) + /// + public List Modules { get; set; } + + //用户可以访问的资源 + public List Resources { get; set; } + + /// + /// 用户所属机构 + /// + public List Orgs { get; set; } + + /// + /// 用户可访问的机构 + /// + public IEnumerable AccessedOrgs { get; set; } + } + +} diff --git a/OpenAuth.Domain/Service/AuthoriseService.cs b/OpenAuth.Domain/Service/AuthoriseService.cs index 32b679de..998ddb0d 100644 --- a/OpenAuth.Domain/Service/AuthoriseService.cs +++ b/OpenAuth.Domain/Service/AuthoriseService.cs @@ -70,64 +70,83 @@ namespace OpenAuth.Domain.Service _user.CheckPassword(password); } - /// - /// 设置开发者账号 - /// - public void SetSysUser() - { - _user = new User - { - Account = "System" - }; - } - public void GetUserAccessed(string name) + /// + /// 加载用户可访问的所有机构/资源/菜单 + /// 李玉宝于2016-07-19 10:32:19 + /// + /// The name. + public void LoadAuthControls(string name) { if (name == "System") { - _modules = _unitWork.Find(null).ToList(); - _moduleElements = _unitWork.Find(null).ToList(); - - _resources = _unitWork.Find(null).OrderBy(u => u.SortNo).ToList(); - - _orgs = _unitWork.Find(null).OrderBy(u => u.SortNo).ToList(); + _user = new User{Account = "System"}; + LoadForSystem(); } else { _user = _unitWork.FindSingle(u => u.Account == name); - //用户角色 - var userRoleIds = _unitWork.Find(u => u.FirstId == _user.Id && u.Key == "UserRole").Select(u => u.SecondId).ToList(); - - //用户角色与自己分配到的模块ID - var moduleIds = _unitWork.Find( - u => - (u.FirstId == _user.Id && u.Key == "UserModule") || - (u.Key == "RoleModule" && userRoleIds.Contains(u.FirstId))).Select(u => u.SecondId); - //得出最终用户拥有的模块 - _modules = _unitWork.Find(u => moduleIds.Contains(u.Id)).OrderBy(u => u.SortNo).ToList(); - - //用户角色与自己分配到的菜单ID - var elementIds = _unitWork.Find( - u => - (u.FirstId == _user.Id && u.Key == "UserElement") || - (u.Key == "RoleElement" && userRoleIds.Contains(u.FirstId))).Select(u => u.SecondId); - //模块菜单权限 - _moduleElements = _unitWork.Find(u => elementIds.Contains(u.Id)).ToList(); - - //用户角色与自己分配到的资源ID - var resourceIds = _unitWork.Find( - u => - (u.FirstId == _user.Id && u.Key == "UserResource") || - (u.Key == "RoleResource" && userRoleIds.Contains(u.FirstId))).Select(u => u.SecondId); - _resources = _unitWork.Find(u => resourceIds.Contains(u.Id)).ToList(); - - //用户角色与自己分配到的机构ID - var orgids = _unitWork.Find( - u => - (u.FirstId == _user.Id && u.Key == "UserAccessedOrg") || - (u.Key == "RoleAccessedOrg" && userRoleIds.Contains(u.FirstId))).Select(u => u.SecondId); - _orgs = _unitWork.Find(u => orgids.Contains(u.Id)).ToList(); + if (_user != null) + { + LoadForUser(); + } } } + + /// + /// 加载用户权限 + /// 李玉宝于2016-07-19 10:20:16 + /// + /// The name. + private void LoadForUser() + { + //用户角色 + var userRoleIds = + _unitWork.Find(u => u.FirstId == _user.Id && u.Key == "UserRole").Select(u => u.SecondId).ToList(); + + //用户角色与自己分配到的模块ID + var moduleIds = _unitWork.Find( + u => + (u.FirstId == _user.Id && u.Key == "UserModule") || + (u.Key == "RoleModule" && userRoleIds.Contains(u.FirstId))).Select(u => u.SecondId); + //得出最终用户拥有的模块 + _modules = _unitWork.Find(u => moduleIds.Contains(u.Id)).OrderBy(u => u.SortNo).ToList(); + + //用户角色与自己分配到的菜单ID + var elementIds = _unitWork.Find( + u => + (u.FirstId == _user.Id && u.Key == "UserElement") || + (u.Key == "RoleElement" && userRoleIds.Contains(u.FirstId))).Select(u => u.SecondId); + //模块菜单权限 + _moduleElements = _unitWork.Find(u => elementIds.Contains(u.Id)).ToList(); + + //用户角色与自己分配到的资源ID + var resourceIds = _unitWork.Find( + u => + (u.FirstId == _user.Id && u.Key == "UserResource") || + (u.Key == "RoleResource" && userRoleIds.Contains(u.FirstId))).Select(u => u.SecondId); + _resources = _unitWork.Find(u => resourceIds.Contains(u.Id)).ToList(); + + //用户角色与自己分配到的机构ID + var orgids = _unitWork.Find( + u => + (u.FirstId == _user.Id && u.Key == "UserAccessedOrg") || + (u.Key == "RoleAccessedOrg" && userRoleIds.Contains(u.FirstId))).Select(u => u.SecondId); + _orgs = _unitWork.Find(u => orgids.Contains(u.Id)).ToList(); + } + + /// + /// 加载系统管理员权限 + /// 李玉宝于2016-07-19 10:19:31 + /// + private void LoadForSystem() + { + _modules = _unitWork.Find(null).ToList(); + _moduleElements = _unitWork.Find(null).ToList(); + + _resources = _unitWork.Find(null).OrderBy(u => u.SortNo).ToList(); + + _orgs = _unitWork.Find(null).OrderBy(u => u.SortNo).ToList(); + } } } \ No newline at end of file diff --git a/OpenAuth.Domain/Service/ModuleEleManService.cs b/OpenAuth.Domain/Service/ModuleEleManService.cs index 6b042f74..66abdae4 100644 --- a/OpenAuth.Domain/Service/ModuleEleManService.cs +++ b/OpenAuth.Domain/Service/ModuleEleManService.cs @@ -47,7 +47,7 @@ namespace OpenAuth.Domain.Service public IEnumerable LoadByModuleId(string loginuser, int id) { - _authoriseService.GetUserAccessed(loginuser); + _authoriseService.LoadAuthControls(loginuser); if (_authoriseService.ModuleElements.Count == 0) //用户没有任何资源 { return new List(); @@ -70,7 +70,7 @@ namespace OpenAuth.Domain.Service public List LoadWithAccess(string username, string accessType, int firstId, int moduleId) { var listVms = new List(); - _authoriseService.GetUserAccessed(username); + _authoriseService.LoadAuthControls(username); if (_authoriseService.ModuleElements.Count == 0) //用户没有任何资源 { return listVms; diff --git a/OpenAuth.Domain/Service/ModuleManService.cs b/OpenAuth.Domain/Service/ModuleManService.cs index 86f63d06..18675e1c 100644 --- a/OpenAuth.Domain/Service/ModuleManService.cs +++ b/OpenAuth.Domain/Service/ModuleManService.cs @@ -40,7 +40,7 @@ namespace OpenAuth.Domain.Service public dynamic Load(string loginuser, int parentId, int pageindex, int pagesize) { - _authoriseService.GetUserAccessed(loginuser); + _authoriseService.LoadAuthControls(loginuser); if (_authoriseService.Modules.Count == 0) //用户不能访问任何模块 { return new diff --git a/OpenAuth.Domain/Service/ResManagerService.cs b/OpenAuth.Domain/Service/ResManagerService.cs index c55fd69b..249ce202 100644 --- a/OpenAuth.Domain/Service/ResManagerService.cs +++ b/OpenAuth.Domain/Service/ResManagerService.cs @@ -48,7 +48,7 @@ namespace OpenAuth.Domain.Service /// public dynamic Load(string username, int categoryId, int pageindex, int pagesize) { - _authoriseService.GetUserAccessed(username); + _authoriseService.LoadAuthControls(username); if (_authoriseService.Resources.Count == 0) //用户没有任何资源 { return new @@ -122,7 +122,7 @@ namespace OpenAuth.Domain.Service public List LoadWithAccess(string username, string accessType, int firstId, int cId) { var listVms = new List(); - _authoriseService.GetUserAccessed(username); + _authoriseService.LoadAuthControls(username); if (_authoriseService.Resources.Count == 0) //用户没有任何资源 { return listVms; diff --git a/OpenAuth.Domain/Service/StockManagerService.cs b/OpenAuth.Domain/Service/StockManagerService.cs index 41bf53de..a833828e 100644 --- a/OpenAuth.Domain/Service/StockManagerService.cs +++ b/OpenAuth.Domain/Service/StockManagerService.cs @@ -29,7 +29,7 @@ namespace OpenAuth.Domain.Service public dynamic Load(string username, int orgId, int pageindex, int pagesize) { - _authoriseService.GetUserAccessed(username); + _authoriseService.LoadAuthControls(username); if (_authoriseService.Orgs.Count == 0) //用户没有任何可见机构 { return new diff --git a/OpenAuth.Mvc/AutofacExt.cs b/OpenAuth.Mvc/AutofacExt.cs index fb4c2a74..b3ab8cfd 100644 --- a/OpenAuth.Mvc/AutofacExt.cs +++ b/OpenAuth.Mvc/AutofacExt.cs @@ -38,7 +38,7 @@ namespace OpenAuth.Mvc builder.RegisterModule(new ConfigurationSettingsReader("autofac")); //注册app层 - builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof (LoginApp))); + builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof (UserManagerApp))); //注册领域服务 builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(AuthoriseService))) diff --git a/OpenAuth.Mvc/Controllers/BaseController.cs b/OpenAuth.Mvc/Controllers/BaseController.cs index 5817d765..b2fd2308 100644 --- a/OpenAuth.Mvc/Controllers/BaseController.cs +++ b/OpenAuth.Mvc/Controllers/BaseController.cs @@ -1,21 +1,15 @@ // *********************************************************************** // Assembly : OpenAuth.Mvc -// Author : Administrator -// Created : 09-22-2015 +// Author : yubaolee +// Created : 07-11-2016 // -// Last Modified By : Administrator -// Last Modified On : 09-22-2015 -// *********************************************************************** -// -// Copyright (c) . All rights reserved. -// -// -// 基础控制器 -// 继承该控制器可以防止未登录查看 -// 继承该控制器后,如果想访问控制器中存在,但模块配置里面没有的Action(如:Home/Git),请使用AnonymousAttribute -// +// Last Modified By : yubaolee +// Last Modified On : 07-19-2016 +// Contact : www.cnblogs.com/yubaolee +// File: BaseController.cs // *********************************************************************** + using OpenAuth.Mvc.Models; using System; using System.Configuration; @@ -23,11 +17,15 @@ using System.Linq; using System.Reflection; using System.Web; using System.Web.Mvc; -using OpenAuth.App; using OpenAuth.App.SSO; namespace OpenAuth.Mvc.Controllers { + /// + /// 基础控制器 + /// 用于控制登录用户是否有权限访问指定的Action + /// 李玉宝新增于2016-07-19 11:12:09 + /// public class BaseController : SSOController { protected BjuiResponse BjuiResponse = new BjuiResponse(); @@ -36,8 +34,8 @@ namespace OpenAuth.Mvc.Controllers { base.OnActionExecuting(filterContext); - var loginUser = AutofacExt.GetFromFac().GetLoginUser(); - + if (!AuthUtil.CheckLogin()) return; + var controllername = Request.RequestContext.RouteData.Values["controller"].ToString().ToLower(); var actionname = filterContext.ActionDescriptor.ActionName.ToLower(); @@ -46,8 +44,8 @@ namespace OpenAuth.Mvc.Controllers throw new Exception("未能找到Action"); var authorize = function.GetCustomAttribute(typeof(AuthenticateAttribute)); - var module = loginUser.Modules.FirstOrDefault(u => u.Url.ToLower().Contains(controllername)); - //当前登录用户没有Action记录&&Action没有anonymous标识 + var module = AuthUtil.GetCurrentUser().Modules.FirstOrDefault(u => u.Url.ToLower().Contains(controllername)); + //当前登录用户没有Action记录&&Action有authenticate标识 if (authorize != null && module == null) { filterContext.Result = new RedirectResult("/Login/Index"); diff --git a/OpenAuth.Mvc/Controllers/HomeController.cs b/OpenAuth.Mvc/Controllers/HomeController.cs index 15c3548c..7f6dbb0b 100644 --- a/OpenAuth.Mvc/Controllers/HomeController.cs +++ b/OpenAuth.Mvc/Controllers/HomeController.cs @@ -1,6 +1,7 @@ using System.Web.Mvc; using Infrastructure; using OpenAuth.App; +using OpenAuth.App.SSO; using OpenAuth.App.ViewModel; using OpenAuth.Mvc.Models; @@ -17,7 +18,7 @@ namespace OpenAuth.Mvc.Controllers public ActionResult Index() { - var user = AutofacExt.GetFromFac().GetLoginUser(); + var user = AuthUtil.GetCurrentUser(); return View(user.Modules); } diff --git a/OpenAuth.Mvc/Controllers/ModuleManagerController.cs b/OpenAuth.Mvc/Controllers/ModuleManagerController.cs index 353a3358..9bb0e649 100644 --- a/OpenAuth.Mvc/Controllers/ModuleManagerController.cs +++ b/OpenAuth.Mvc/Controllers/ModuleManagerController.cs @@ -4,6 +4,7 @@ using OpenAuth.Domain; using System; using System.Linq; using System.Web.Mvc; +using OpenAuth.App.SSO; using OpenAuth.App.ViewModel; using OpenAuth.Mvc.Models; @@ -45,13 +46,13 @@ namespace OpenAuth.Mvc.Controllers /// public string LoadForTree() { - var orgs = AutofacExt.GetFromFac().GetLoginUser().Modules; + var orgs = AuthUtil.GetCurrentUser().Modules; return JsonHelper.Instance.Serialize(orgs); } public string LoadModuleWithRoot() { - var orgs = AutofacExt.GetFromFac().GetLoginUser().Modules.MapToList(); + var orgs = AuthUtil.GetCurrentUser().Modules.MapToList(); return JsonHelper.Instance.Serialize(orgs); } diff --git a/OpenAuth.Mvc/Controllers/OrgManagerController.cs b/OpenAuth.Mvc/Controllers/OrgManagerController.cs index 10c955ce..8562bcd7 100644 --- a/OpenAuth.Mvc/Controllers/OrgManagerController.cs +++ b/OpenAuth.Mvc/Controllers/OrgManagerController.cs @@ -6,6 +6,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; +using OpenAuth.App.SSO; using OpenAuth.App.ViewModel; namespace OpenAuth.Mvc.Controllers @@ -35,7 +36,7 @@ namespace OpenAuth.Mvc.Controllers public string LoadOrg() { - return JsonHelper.Instance.Serialize(AutofacExt.GetFromFac().GetLoginUser().AccessedOrgs); + return JsonHelper.Instance.Serialize(AuthUtil.GetCurrentUser().AccessedOrgs); } public string LoadForUser(int firstId) diff --git a/OpenAuth.UnitTest/TestAuthen.cs b/OpenAuth.UnitTest/TestAuthen.cs index fcb11cb1..a4a2f982 100644 --- a/OpenAuth.UnitTest/TestAuthen.cs +++ b/OpenAuth.UnitTest/TestAuthen.cs @@ -15,7 +15,7 @@ namespace OpenAuth.UnitTest public void TestMethod1() { AuthoriseService _service = new AuthoriseService(new UnitWork() ); - _service.GetUserAccessed("test"); + _service.LoadAuthControls("test"); var orgs = _service.Orgs; } diff --git a/OpenAuth.WebApi/Areas/SSO/Controllers/CheckController.cs b/OpenAuth.WebApi/Areas/SSO/Controllers/CheckController.cs index 719490bb..ad740b82 100644 --- a/OpenAuth.WebApi/Areas/SSO/Controllers/CheckController.cs +++ b/OpenAuth.WebApi/Areas/SSO/Controllers/CheckController.cs @@ -23,10 +23,10 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers /// public class CheckController : Controller { - private LoginApp _app; + private AuthorizeApp _app; public CheckController() { - _app = AutofacExt.GetFromFac(); + _app = AutofacExt.GetFromFac(); } public bool GetStatus(string token = "", string requestid = "") @@ -44,7 +44,7 @@ namespace OpenAuth.WebApi.Areas.SSO.Controllers string userName = GetUserName(token, requestid); if (!string.IsNullOrEmpty(userName)) { - return JsonHelper.Instance.Serialize(_app.GetLoginUser(userName)); + return JsonHelper.Instance.Serialize(_app.GetAccessedControls(userName)); } return string.Empty; diff --git a/OpenAuth.WebApi/AutofacExt.cs b/OpenAuth.WebApi/AutofacExt.cs index fa2da483..aa290f84 100644 --- a/OpenAuth.WebApi/AutofacExt.cs +++ b/OpenAuth.WebApi/AutofacExt.cs @@ -38,7 +38,7 @@ namespace OpenAuth.WebApi builder.RegisterModule(new ConfigurationSettingsReader("autofac")); //注册app层 - builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof (LoginApp))); + builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof (AuthorizeApp))); //注册领域服务 builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(AuthoriseService)))