转移.net core 3.1,为.NET 5做准备

This commit is contained in:
ÂëÉñ
2020-10-22 14:59:36 +08:00
parent fd9bca23a7
commit a35d596237
1080 changed files with 175912 additions and 185681 deletions

View File

@@ -0,0 +1,144 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
namespace OpenAuth.Mvc.Controllers
{
public class AccessObjsController : BaseController
{
private readonly RevelanceManagerApp _app;
public AccessObjsController(IAuth authUtil, RevelanceManagerApp app) : base(authUtil)
{
_app = app;
}
/// <summary>
/// 添加关联
/// </summary>
[HttpPost]
public string Assign(AssignReq request)
{
var result = new Response();
try
{
_app.Assign(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(result);
}
/// <summary>
/// 取消关联
/// </summary>
[HttpPost]
public string UnAssign(AssignReq req)
{
try
{
_app.UnAssign(req);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 角色分配数据字段权限
/// </summary>
/// <returns></returns>
[HttpPost]
public string AssignDataProperty(AssignDataReq request)
{
var result = new Response();
try
{
_app.AssignData(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(result);
}
/// <summary>
/// 取消角色的数据字段权限
/// <para>如果Properties为空则把角色的某一个模块权限全部删除</para>
/// <para>如果moduleId为空直接把角色的所有授权删除</para>
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public string UnAssignDataProperty(AssignDataReq request)
{
var result = new Response();
try
{
_app.UnAssignData(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 角色分配用户,整体提交,会覆盖之前的配置
/// </summary>
[HttpPost]
public string AssignRoleUsers(AssignRoleUsers request)
{
var result = new Response();
try
{
_app.AssignRoleUsers(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 部门分配用户,整体提交,会覆盖之前的配置
/// </summary>
[HttpPost]
public string AssignOrgUsers(AssignOrgUsers request)
{
var result = new Response();
try
{
_app.AssignOrgUsers(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
}
}

View File

@@ -1,31 +1,41 @@
using System;
using System.Web.Http;
using System.Web.Mvc;
using System.Collections.Generic;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Mvc.Controllers
{
public class ApplicationsController : BaseController
{
public AppManager App { get; set; }
private readonly AppManager _app;
public string GetList([FromUri]QueryAppListReq request)
public string GetList([FromQuery]QueryAppListReq request)
{
return JsonHelper.Instance.Serialize(App.GetList(request));
var resp = new Response<List<Application>>();
try
{
resp.Result = _app.GetList(request);
}
catch (Exception e)
{
resp.Code = 500;
resp.Message = e.Message;
}
return JsonHelper.Instance.Serialize(resp);
}
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Delete(string[] ids)
{
Response resp = new Response();
try
{
App.Delete(ids);
_app.Delete(ids);
}
catch (Exception e)
{
@@ -35,13 +45,13 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(resp);
}
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Add(Application obj)
{
Response resp = new Response();
try
{
App.Add(obj);
_app.Add(obj);
}
catch (Exception e)
{
@@ -51,13 +61,13 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(resp);
}
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Update(Application obj)
{
Response resp = new Response();
try
{
App.Update(obj);
_app.Update(obj);
}
catch (Exception e)
{
@@ -68,5 +78,9 @@ namespace OpenAuth.Mvc.Controllers
}
public ApplicationsController(IAuth authUtil, AppManager app) : base(authUtil)
{
_app = app;
}
}
}

View File

@@ -9,64 +9,25 @@
// File: BaseController.cs
// ***********************************************************************
using OpenAuth.Mvc.Models;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Reflection;
using System.Web;
using System.Web.Mvc;
using Infrastructure;
using OpenAuth.App.Response;
using OpenAuth.App.SSO;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.Interface;
namespace OpenAuth.Mvc.Controllers
{
/// <summary>
/// 基础控制器
/// <para>用于控制登录用户是否有权限访问指定的Action</para>
/// <para>李玉宝新增于2016-07-19 11:12:09</para>
/// </summary>
public class BaseController : SSOController
public class BaseController : Controller
{
protected Response Result = new Response();
protected string Controllername; //当前控制器小写名称
protected string Actionname; //当前Action小写名称
protected IAuth _authUtil;
protected override void OnActionExecuting(ActionExecutingContext filterContext)
public BaseController(IAuth authUtil)
{
base.OnActionExecuting(filterContext);
if (!AuthUtil.CheckLogin()) return;
Controllername = Request.RequestContext.RouteData.Values["controller"].ToString().ToLower();
Actionname = filterContext.ActionDescriptor.ActionName.ToLower();
var function = this.GetType().GetMethods().FirstOrDefault(u => u.Name.ToLower() == Actionname);
if (function == null)
throw new Exception("未能找到Action");
//权限验证标识
var authorize = function.GetCustomAttribute(typeof(AuthenticateAttribute));
if (authorize == null)
{
return;
}
var currentModule = AuthUtil.GetCurrentUser().Modules.FirstOrDefault(u => u.Url.ToLower().Contains(Controllername));
//当前登录用户没有Action记录&&Action有authenticate标识
if ( currentModule == null)
{
filterContext.Result = new RedirectResult("/Login/Index");
return;
}
var version = ConfigurationManager.AppSettings["version"];
if (version == "demo" && Request.HttpMethod == "POST")
{
throw new HttpException(400, "演示版本,不能进行该操作,当前模块:" + Controllername + "/" + Actionname);
}
_authUtil = authUtil;
}
}
}

View File

@@ -1,17 +1,22 @@
using System;
using System.Web.Http;
using System.Web.Mvc;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Mvc.Controllers
{
public class CategoriesController : BaseController
{
public CategoryApp App { get; set; }
private readonly CategoryApp _app;
private CategoryTypeApp _categoryTypeApp;
public CategoriesController(IAuth authUtil, CategoryApp app, CategoryTypeApp categoryTypeApp) : base(authUtil)
{
_app = app;
_categoryTypeApp = categoryTypeApp;
}
//
// GET: /UserManager/
@@ -20,20 +25,20 @@ namespace OpenAuth.Mvc.Controllers
return View();
}
public string All([FromUri]QueryCategoriesReq request)
public string All([FromQuery]QueryCategoryListReq request)
{
TableData data = new TableData();
data = App.All(request);
data = _app.Load(request);
return JsonHelper.Instance.Serialize(data);
}
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Delete(string[] ids)
{
Response resp = new Response();
try
{
App.Delete(ids);
_app.Delete(ids);
}
catch (Exception e)
{
@@ -43,13 +48,13 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(resp);
}
[System.Web.Mvc.HttpPost]
public string Add(Category obj)
[HttpPost]
public string Add(AddOrUpdateCategoryReq obj)
{
Response resp = new Response();
try
{
App.Add(obj);
_app.Add(obj);
}
catch (Exception e)
{
@@ -59,13 +64,13 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(resp);
}
[System.Web.Mvc.HttpPost]
public string Update(Category obj)
[HttpPost]
public string Update(AddOrUpdateCategoryReq obj)
{
Response resp = new Response();
try
{
App.Update(obj);
_app.Update(obj);
}
catch (Exception e)
{
@@ -75,10 +80,13 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(resp);
}
//所有得分类类型
/// <summary>
/// 得到所有的字典定义
/// </summary>
/// <returns></returns>
public string AllTypes()
{
var data = App.AllTypes();
var data = _categoryTypeApp.AllTypes();
return JsonHelper.Instance.Serialize(data);
}

View File

@@ -0,0 +1,83 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
namespace OpenAuth.Mvc.Controllers
{
public class DataPrivilegeRulesController : BaseController
{
private readonly DataPrivilegeRuleApp _app;
public DataPrivilegeRulesController(DataPrivilegeRuleApp app, IAuth auth) : base(auth)
{
_app = app;
}
//主页
public ActionResult Index()
{
return View();
}
//添加或修改
[HttpPost]
public string Add(AddOrUpdateDataPriviReq obj)
{
try
{
_app.Add(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改
[HttpPost]
public string Update(AddOrUpdateDataPriviReq obj)
{
try
{
_app.Update(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 加载列表
/// </summary>
public string Load([FromQuery]QueryDataPrivilegeRuleListReq request)
{
return JsonHelper.Instance.Serialize(_app.Load(request));
}
[HttpPost]
public string Delete(string[] ids)
{
try
{
_app.Delete(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
}
}

View File

@@ -1,48 +1,41 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Web;
using System.Web.Mvc;
// ***********************************************************************
// Assembly : OpenAuth.Mvc
// Author : 李玉宝
// Created : 07-24-2018
//
// Last Modified By : 李玉宝
// Last Modified On : 07-24-2018
// ***********************************************************************
// <copyright file="ErrorController.cs" company="OpenAuth.Mvc">
// Copyright (c) http://www.openauth.me. All rights reserved.
// </copyright>
// <summary>
// 异常处理页面
//</summary>
// ***********************************************************************
using Infrastructure;
using OpenAuth.Mvc.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace OpenAuth.Mvc.Controllers
{
public class ErrorController : Controller
{
public ActionResult Http404()
[AllowAnonymous]
public string Demo()
{
return Content("貌似URL不在~~", "text/plain");
}
/// <summary>
/// 演示版本禁止提交
/// </summary>
public string DemoError()
{
Response.Charset = "utf-8";
var response = new Response
return JsonHelper.Instance.Serialize(new Response
{
Code = 500,
Message = "演示版本,不能进行此操作"
};
return JsonHelper.Instance.Serialize(response);
Message = "演示版本,不要乱动"
});
}
/// <summary>
/// 没有登录
/// </summary>
/// <returns>ActionResult.</returns>
public ActionResult Http401()
[AllowAnonymous]
public ActionResult Auth()
{
return RedirectToAction("Index", "Login");
}
public ActionResult Http500()
{
return Content("哇哦!服务器内部出问题了,让站长看看日志吧~~", "text/plain");
return View();
}
}
}

View File

@@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using Infrastructure;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Mvc.Controllers
{
/// <summary> 文件上传</summary>
/// <remarks> yubaolee, 2019-03-08. </remarks>
public class FilesController : BaseController
{
private FileApp _app;
public FilesController(IAuth authUtil, FileApp app) : base(authUtil)
{
_app = app;
}
/// <summary>
/// 批量上传文件接口
/// </summary>
/// <param name="files"></param>
/// <returns>服务器存储的文件信息</returns>
[HttpPost]
public Response<IList<UploadFile>> Upload(IFormFileCollection files)
{
var result = new Response<IList<UploadFile>>();
try
{
result.Result = _app.Add(files);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.Message;
}
return result;
}
}
}

View File

@@ -1,22 +1,24 @@
using System;
using System.Linq;
using System.Web.Mvc;
using System.Collections.Generic;
using Infrastructure;
using Newtonsoft.Json.Linq;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Mvc.Models;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Mvc.Controllers
{
public class FlowInstancesController : BaseController
{
public FlowInstanceApp App { get; set; }
private readonly FlowInstanceApp _app;
public FlowInstancesController(IAuth authUtil, FlowInstanceApp app) : base(authUtil)
{
_app = app;
}
//
[Authenticate]
public ActionResult Index()
{
return View();
@@ -66,13 +68,13 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
App.Verification(request);
_app.Verification(request);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
@@ -81,7 +83,7 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
var flowinstance = App.Get(id);
var flowinstance = _app.Get(id);
var result = new Response<FlowVerificationResp>
{
@@ -92,41 +94,41 @@ namespace OpenAuth.Mvc.Controllers
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改
[System.Web.Mvc.HttpPost]
[ValidateInput(false)]
public string Add(JObject obj)
[HttpPost]
public string Add(AddFlowInstanceReq obj)
{
try
{
App.CreateInstance(obj);
_app.CreateInstance(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Update(FlowInstance obj)
{
try
{
App.Update(obj);
_app.Update(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
@@ -134,25 +136,46 @@ namespace OpenAuth.Mvc.Controllers
/// <summary>
/// 加载列表
/// </summary>
public string Load([System.Web.Http.FromUri]QueryFlowInstanceListReq request)
public string Load([FromQuery]QueryFlowInstanceListReq request)
{
return JsonHelper.Instance.Serialize(App.Load(request));
return JsonHelper.Instance.Serialize(_app.Load(request));
}
[System.Web.Mvc.HttpPost]
/// <summary>
/// 获取一个流程实例的操作历史记录
/// </summary>
[HttpGet]
public string QueryHistories([FromQuery]QueryFlowInstanceHistoryReq request)
{
var result = new Response<List<FlowInstanceOperationHistory>>();
try
{
result.Result = _app.QueryHistories(request);
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(result);
}
[HttpPost]
public string Delete(string[] ids)
{
try
{
App.Delete(ids);
_app.Delete(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
Result.Message = e.InnerException?.Message ?? e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
}
}

View File

@@ -1,20 +1,19 @@
using System;
using System.Web.Http;
using System.Web.Mvc;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.Mvc.Models;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Mvc.Controllers
{
public class FlowSchemesController : BaseController
{
public FlowSchemeApp App { get; set; }
private readonly FlowSchemeApp _app;
//
[Authenticate]
public ActionResult Index()
{
return View();
@@ -39,47 +38,47 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
var result = new Response<FlowScheme> {Result = App.Get(id)};
var result = new Response<FlowScheme> {Result = _app.Get(id)};
return JsonHelper.Instance.Serialize(result);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Add(FlowScheme obj)
{
try
{
App.Add(obj);
_app.Add(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Update(FlowScheme obj)
{
try
{
App.Update(obj);
_app.Update(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
@@ -87,25 +86,30 @@ namespace OpenAuth.Mvc.Controllers
/// <summary>
/// 加载列表
/// </summary>
public string Load([FromUri]QueryFlowSchemeListReq request)
public string Load([FromQuery]QueryFlowSchemeListReq request)
{
return JsonHelper.Instance.Serialize(App.Load(request));
return JsonHelper.Instance.Serialize(_app.Load(request));
}
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Delete(string[] ids)
{
try
{
App.Delete(ids);
_app.Delete(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
Result.Message = e.InnerException?.Message ?? e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
public FlowSchemesController(IAuth authUtil, FlowSchemeApp app) : base(authUtil)
{
_app = app;
}
}
}

View File

@@ -1,21 +1,20 @@
using System;
using System.Web.Http;
using System.Web.Mvc;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Mvc.Models;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Mvc.Controllers
{
public class FormsController : BaseController
{
public FormApp App { get; set; }
private readonly FormApp _app;
//
[Authenticate]
public ActionResult Index()
{
return View();
@@ -37,50 +36,50 @@ namespace OpenAuth.Mvc.Controllers
{
var result = new Response<FormResp>
{
Result = App.FindSingle(id)
Result = _app.FindSingle(id)
};
return JsonHelper.Instance.Serialize(result);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
return JsonHelper.Instance.Serialize(Result);
}
}
//添加或修改
[System.Web.Mvc.HttpPost]
[ValidateInput(false)]
[HttpPost]
public string Add(Form obj)
{
try
{
App.Add(obj);
_app.Add(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改
[System.Web.Mvc.HttpPost]
[ValidateInput(false)]
[HttpPost]
public string Update(Form obj)
{
try
{
App.Update(obj);
_app.Update(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
@@ -88,25 +87,30 @@ namespace OpenAuth.Mvc.Controllers
/// <summary>
/// 加载列表
/// </summary>
public string Load([FromUri]QueryFormListReq request)
public string Load([FromQuery]QueryFormListReq request)
{
return JsonHelper.Instance.Serialize(App.Load(request));
return JsonHelper.Instance.Serialize(_app.Load(request));
}
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Delete(string[] ids)
{
try
{
App.Delete(ids);
_app.Delete(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
Result.Message = e.InnerException?.Message ?? e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
public FormsController(IAuth authUtil, FormApp app) : base(authUtil)
{
_app = app;
}
}
}

View File

@@ -1,11 +1,10 @@
using System.Text;
using System.Web.Mvc;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.Interface;
namespace OpenAuth.Mvc.Controllers
{
public class HomeController : BaseController
{
public ActionResult Index()
{
return View();
@@ -23,6 +22,9 @@ namespace OpenAuth.Mvc.Controllers
return View();
}
public HomeController(IAuth authUtil) : base(authUtil)
{
}
}
}

View File

@@ -1,66 +1,43 @@
using System;
using System.Configuration;
using System.Web.Mvc;
using Infrastructure;
using OpenAuth.App.SSO;
using System.Web;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using OpenAuth.App;
using OpenAuth.App.Interface;
namespace OpenAuth.Mvc.Controllers
{
public class LoginController : Controller
{
private string _appKey = ConfigurationManager.AppSettings["SSOAppKey"];
private string _appKey = "openauth";
private IOptions<AppSetting> _appConfiguration;
private IAuth _authUtil;
public LoginController(IAuth authUtil, IOptions<AppSetting> appConfiguration)
{
_authUtil = authUtil;
_appConfiguration = appConfiguration;
}
// GET: Login
[AllowAnonymous]
public ActionResult Index()
{
ViewBag.AppKey = _appKey;
return View();
}
[HttpPost]
public string Index(string username, string password)
{
var resp = new LoginResult();
try
{
var result = AuthUtil.Login(_appKey, username, password);
if (result.Code == 200)
{
var cookie = new HttpCookie("Token", result.Token)
{
Expires = DateTime.Now.AddDays(10)
};
Response.Cookies.Add(cookie);
resp.Result = "/home/index";
}
else
{
resp.Message = "登录失败";
}
}
catch (Exception e)
{
resp.Code = 500;
resp.Message = e.Message;
}
return JsonHelper.Instance.Serialize(resp);
}
[AllowAnonymous]
public string Login(string username, string password)
{
var resp = new Response();
try
{
var result = AuthUtil.Login(_appKey, username, password);
var result = _authUtil.Login(_appKey, username, password);
if (result.Code == 200)
{
var cookie = new HttpCookie("Token", result.Token)
{
Expires = DateTime.Now.AddDays(10)
};
Response.Cookies.Add(cookie);
Response.Cookies.Append(Define.TOKEN_NAME, result.Token);
}
else
{
@@ -78,10 +55,14 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(resp);
}
[AllowAnonymous]
public ActionResult Logout()
{
AuthUtil.Logout();
if (_appConfiguration.Value.IsIdentityAuth)
{
return SignOut("Cookies", "oidc");
}
_authUtil.Logout();
return RedirectToAction("Index", "Login");
}
}

View File

@@ -1,54 +1,36 @@
using Infrastructure;
using OpenAuth.App;
using OpenAuth.App.SSO;
using OpenAuth.Mvc.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.Interface;
using OpenAuth.App.Response;
using OpenAuth.Repository.Domain;
using System.Collections.Generic;
namespace OpenAuth.Mvc.Controllers
{
public class ModuleManagerController : BaseController
{
public ModuleManagerApp App { get; set; }
private ModuleManagerApp _app;
public ModuleManagerController(IAuth authUtil, ModuleManagerApp app) : base(authUtil)
{
_app = app;
}
// GET: /ModuleManager/
[Authenticate]
public ActionResult Index()
{
return View();
}
[Authenticate]
public ActionResult Assign()
{
return View();
}
/// <summary>
/// 加载特定用户的模块
/// </summary>
/// <param name="firstId">The user identifier.</param>
/// <returns>System.String.</returns>
public string LoadForUser(string firstId)
{
var modules = App.LoadForUser(firstId);
return JsonHelper.Instance.Serialize(modules);
}
/// <summary>
/// 根据某用户ID获取可访问某模块的菜单项
/// </summary>
/// <returns></returns>
public string LoadMenusForUser(string moduleId, string firstId)
{
var menus = App.LoadMenusForUser(moduleId, firstId);
return JsonHelper.Instance.Serialize(menus);
}
/// <summary>
/// 加载角色模块
/// </summary>
@@ -56,9 +38,36 @@ namespace OpenAuth.Mvc.Controllers
/// <returns>System.String.</returns>
public string LoadForRole(string firstId)
{
var modules = App.LoadForRole(firstId);
var modules = _app.LoadForRole(firstId);
return JsonHelper.Instance.Serialize(modules);
}
/// <summary>
/// 获取角色已经分配的字段
/// </summary>
/// <param name="roleId">角色id</param>
/// <param name="moduleCode">模块代码如Category</param>
/// <returns></returns>
[HttpGet]
public string LoadPropertiesForRole(string roleId, string moduleCode)
{
try
{
var props = _app.LoadPropertiesForRole(roleId, moduleCode);
var data = new Response<IEnumerable<string>>
{
Result = props.ToList(),
};
return JsonHelper.Instance.Serialize(data);
}
catch (Exception ex)
{
return JsonHelper.Instance.Serialize(new Response
{
Message =ex.Message,
Code = 500,
});
}
}
/// <summary>
/// 根据某角色ID获取可访问某模块的菜单项
@@ -66,7 +75,7 @@ namespace OpenAuth.Mvc.Controllers
/// <returns></returns>
public string LoadMenusForRole(string moduleId, string firstId)
{
var menus = App.LoadMenusForRole(moduleId, firstId);
var menus = _app.LoadMenusForRole(moduleId, firstId);
return JsonHelper.Instance.Serialize(menus);
}
@@ -76,7 +85,7 @@ namespace OpenAuth.Mvc.Controllers
/// <returns>System.String.</returns>
public string LoadAuthorizedMenus(string modulecode)
{
var user = AuthUtil.GetCurrentUser();
var user = _authUtil.GetCurrentUser();
var module = user.Modules.First(u =>u.Code == modulecode);
if (module != null)
{
@@ -91,34 +100,34 @@ namespace OpenAuth.Mvc.Controllers
//添加模块
[HttpPost]
[ValidateInput(false)]
public string Add(Module model)
{
try
{
App.Add(model);
_app.Add(model);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message??ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//修改模块
[HttpPost]
[ValidateInput(false)]
public string Update(Module model)
{
try
{
App.Update(model);
_app.Update(model);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
@@ -128,12 +137,12 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
App.Delete(ids);
_app.Delete(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
Result.Message = e.InnerException?.Message ?? e.Message;
}
return JsonHelper.Instance.Serialize(Result);
@@ -148,7 +157,7 @@ namespace OpenAuth.Mvc.Controllers
/// <returns>System.String.</returns>
public string LoadMenus(string moduleId)
{
var user = AuthUtil.GetCurrentUser();
var user = _authUtil.GetCurrentUser();
var module = user.Modules.Single(u => u.Id == moduleId);
@@ -162,34 +171,34 @@ namespace OpenAuth.Mvc.Controllers
//添加菜单
[HttpPost]
[ValidateInput(false)]
public string AddMenu(ModuleElement model)
{
try
{
App.AddMenu(model);
_app.AddMenu(model);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加菜单
[HttpPost]
[ValidateInput(false)]
public string UpdateMenu(ModuleElement model)
{
try
{
App.UpdateMenu(model);
_app.UpdateMenu(model);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
@@ -203,15 +212,17 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
App.DelMenu(ids);
_app.DelMenu(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
Result.Message = e.InnerException?.Message ?? e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
}
}

View File

@@ -0,0 +1,130 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Mvc.Controllers
{
public class OpenJobsController : BaseController
{
private readonly OpenJobApp _app;
public OpenJobsController(OpenJobApp app, IAuth auth) : base(auth)
{
_app = app;
}
//主页
[AllowAnonymous]
public ActionResult Index()
{
return View();
}
//添加或修改
[HttpPost]
public string Add(AddOrUpdateOpenJobReq obj)
{
try
{
_app.Add(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改
[HttpPost]
public string Update(AddOrUpdateOpenJobReq obj)
{
try
{
_app.Update(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 获取本地可执行的任务列表
/// </summary>
[HttpPost]
public string QueryLocalHandlers()
{
var result = new Response<List<string>>();
try
{
result.Result = _app.QueryLocalHandlers();
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 改变任务状态,启动/停止
/// </summary>
[HttpPost]
public string ChangeStatus(ChangeJobStatusReq req)
{
var result = new Response();
try
{
_app.ChangeJobStatus(req);
result.Message = "切换成功,可以在系统日志中查看运行结果";
}
catch (Exception ex)
{
result.Code = 500;
result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 加载列表
/// </summary>
public string Load([FromQuery]QueryOpenJobListReq request)
{
return JsonHelper.Instance.Serialize(_app.Load(request));
}
[HttpPost]
public string Delete(string[] ids)
{
try
{
_app.Delete(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
}
}

View File

@@ -1,49 +1,49 @@
using Infrastructure;
using OpenAuth.App;
using OpenAuth.Mvc.Models;
using System;
using System.Web.Mvc;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.Interface;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Mvc.Controllers
{
public class OrgManagerController : BaseController
{
public OrgManagerApp OrgApp { get; set; }
private OrgManagerApp _orgApp;
public OrgManagerController(IAuth authUtil, OrgManagerApp orgApp) : base(authUtil)
{
_orgApp = orgApp;
}
//
// GET: /OrgManager/
[Authenticate]
public ActionResult Index()
{
return View();
}
/// <summary>
/// 获取用户所能访问的部门
/// </summary>
public string LoadForUser(string firstId)
{
var orgs = OrgApp.LoadForUser(firstId);
var orgs = _orgApp.LoadForUser(firstId);
return JsonHelper.Instance.Serialize(orgs);
}
public string LoadForRole(string firstId)
{
var orgs = OrgApp.LoadForRole(firstId);
return JsonHelper.Instance.Serialize(orgs);
}
//添加组织提交
[HttpPost]
public string Add(Org org)
{
try
{
OrgApp.Add(org);
_orgApp.Add(org);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
@@ -54,12 +54,12 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
OrgApp.Update(org);
_orgApp.Update(org);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
@@ -73,15 +73,16 @@ namespace OpenAuth.Mvc.Controllers
{
try
{
OrgApp.DelOrg(ids);
_orgApp.DelOrgCascade(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
Result.Message = e.InnerException?.Message ?? e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
}
}

View File

@@ -0,0 +1,20 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace OpenAuth.Mvc.Controllers
{
public class RedirectsController : Controller
{
/// <summary>
/// oauth认证跳转页面
/// </summary>
/// <returns></returns>
[Authorize]
public ActionResult IdentityAuth()
{
if (User.Identity.IsAuthenticated)
return Redirect("/Home/Index");
return View();
}
}
}

View File

@@ -1,41 +0,0 @@
using System;
using System.Web.Mvc;
using Infrastructure;
using OpenAuth.App;
namespace OpenAuth.Mvc.Controllers
{
public class RelevanceManagerController : BaseController
{
public RevelanceManagerApp App { get; set; }
[HttpPost]
public string Assign(string type, string firstId, string[] secIds)
{
try
{
App.Assign(type, firstId, secIds);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
[HttpPost]
public string UnAssign(string type, string firstId, string[] secIds)
{
try
{
App.UnAssign(type, firstId, secIds);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
}
}

View File

@@ -1,10 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
using System.Web.Mvc;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.Repository.Domain;
@@ -12,8 +12,12 @@ namespace OpenAuth.Mvc.Controllers
{
public class ResourcesController : BaseController
{
public ResourceApp App { get; set; }
private readonly ResourceApp _app;
public ResourcesController(IAuth authUtil, ResourceApp app) : base(authUtil)
{
_app = app;
}
//
// GET: /UserManager/
public ActionResult Index()
@@ -25,32 +29,6 @@ namespace OpenAuth.Mvc.Controllers
return View();
}
/// <summary>
/// 加载特定用户的资源
/// </summary>
/// <param name="appId">应用appId</param>
/// <param name="firstId">用户ID</param>
/// <returns>System.String.</returns>
public string LoadForUser(string appId, string firstId)
{
try
{
var result = new Response<List<string>>
{
Result = App.LoadForUser(appId, firstId).Select(u =>u.Id).ToList()
};
return JsonHelper.Instance.Serialize(result);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 加载角色资源
/// </summary>
@@ -62,32 +40,32 @@ namespace OpenAuth.Mvc.Controllers
{
var result = new Response<List<string>>
{
Result = App.LoadForRole(appId, firstId).Select(u => u.Id).ToList()
Result = _app.LoadForRole(appId, firstId).Select(u => u.Id).ToList()
};
return JsonHelper.Instance.Serialize(result);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
Result.Message = e.InnerException?.Message ?? e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
public string Load([FromUri]QueryResourcesReq request)
public string Load([FromQuery]QueryResourcesReq request)
{
return JsonHelper.Instance.Serialize(App.Load(request));
return JsonHelper.Instance.Serialize(_app.Load(request));
}
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Delete(string[] ids)
{
Response resp = new Response();
try
{
App.Delete(ids);
_app.Delete(ids);
}
catch (Exception e)
{
@@ -97,13 +75,13 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(resp);
}
[System.Web.Mvc.HttpPost]
public string Add(Resource obj)
[HttpPost]
public string Add(AddOrUpdateResReq obj)
{
Response resp = new Response();
try
{
App.Add(obj);
_app.Add(obj);
}
catch (Exception e)
{
@@ -113,13 +91,13 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(resp);
}
[System.Web.Mvc.HttpPost]
public string Update(Resource obj)
[HttpPost]
public string Update(AddOrUpdateResReq obj)
{
Response resp = new Response();
try
{
App.Update(obj);
_app.Update(obj);
}
catch (Exception e)
{
@@ -129,6 +107,5 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(resp);
}
}
}

View File

@@ -1,23 +1,27 @@
using System;
using System;
using System.Collections.Generic;
using System.Web.Http;
using System.Web.Mvc;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Mvc.Models;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Mvc.Controllers
{
public class RoleManagerController : BaseController
{
public RoleApp App { get; set; }
public RevelanceManagerApp RevelanceManagerApp { get; set; }
private readonly RoleApp _app;
private readonly RevelanceManagerApp _revelanceManagerApp;
public RoleManagerController(IAuth authUtil, RevelanceManagerApp revelanceManagerApp, RoleApp app) : base(authUtil)
{
_revelanceManagerApp = revelanceManagerApp;
_app = app;
}
//
// GET: /UserManager/
[Authenticate]
public ActionResult Index()
{
return View();
@@ -29,35 +33,35 @@ namespace OpenAuth.Mvc.Controllers
}
//添加或修改组织
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Add(RoleView obj)
{
try
{
App.Add(obj);
_app.Add(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改组织
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Update(RoleView obj)
{
try
{
App.Update(obj);
_app.Update(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
@@ -71,41 +75,56 @@ namespace OpenAuth.Mvc.Controllers
{
var result = new Response<List<string>>
{
Result = RevelanceManagerApp.Get(Define.USERROLE, true, userId)
Result = _revelanceManagerApp.Get(Define.USERROLE, true, userId)
};
return JsonHelper.Instance.Serialize(result);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
Result.Message = e.InnerException?.Message ?? e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 加载组织下面的所有用户
/// 加载登录用户可以访问的所有角色
/// </summary>
public string Load([FromUri]QueryRoleListReq request)
{
return JsonHelper.Instance.Serialize(App.Load(request));
}
[System.Web.Mvc.HttpPost]
public string Delete(string[] ids)
public string Load([FromQuery]QueryRoleListReq request)
{
try
{
App.Delete(ids);
var result = new Response<List<Role>>
{
Result = _app.Load(request)
};
return JsonHelper.Instance.Serialize(result);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
Result.Message = e.InnerException?.Message ?? e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
[HttpPost]
public string Delete(string[] ids)
{
try
{
_app.Delete(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.InnerException?.Message ?? e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
}
}

View File

@@ -0,0 +1,36 @@
using Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using OpenAuth.App;
namespace OpenAuth.Mvc.Controllers
{
/// <summary>
/// 系统配置信息
/// </summary>
public class SysConfController : Controller
{
private IOptions<AppSetting> _appConfiguration;
public SysConfController(IOptions<AppSetting> appConfiguration)
{
_appConfiguration = appConfiguration;
}
/// <summary>
/// 是否Identity认证
/// </summary>
/// <returns></returns>
[AllowAnonymous]
public string IsIdentityAuth()
{
var result = new Response<bool>
{
Result = _appConfiguration.Value.IsIdentityAuth
};
return JsonHelper.Instance.Serialize(result);
}
}
}

View File

@@ -0,0 +1,84 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Mvc.Controllers
{
public class SysLogsController : BaseController
{
private readonly SysLogApp _app;
public SysLogsController(SysLogApp app, IAuth auth) : base(auth)
{
_app = app;
}
//主页
public ActionResult Index()
{
return View();
}
//添加或修改
[HttpPost]
public string Add(SysLog obj)
{
try
{
_app.Add(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改
[HttpPost]
public string Update(SysLog obj)
{
try
{
_app.Update(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 加载列表
/// </summary>
public string Load([FromQuery]QuerySysLogListReq request)
{
return JsonHelper.Instance.Serialize(_app.Load(request));
}
[HttpPost]
public string Delete(string[] ids)
{
try
{
_app.Delete(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
}
}

View File

@@ -0,0 +1,84 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Mvc.Controllers
{
public class SysMessagesController : BaseController
{
private readonly SysMessageApp _app;
public SysMessagesController(SysMessageApp app, IAuth auth) : base(auth)
{
_app = app;
}
//主页
public ActionResult Index()
{
return View();
}
//添加或修改
[HttpPost]
public string Add(SysMessage obj)
{
try
{
_app.Add(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改
[HttpPost]
public string Update(SysMessage obj)
{
try
{
_app.Update(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 加载列表
/// </summary>
public string Load([FromQuery]QuerySysMessageListReq request)
{
return JsonHelper.Instance.Serialize(_app.Load(request));
}
[HttpPost]
public string Delete(string[] ids)
{
try
{
_app.Delete(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
}
}

View File

@@ -1,40 +1,93 @@
using System;
using System.Collections.Generic;
using System.Web.Http;
using System.Web.Mvc;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
using OpenAuth.Mvc.Models;
namespace OpenAuth.Mvc.Controllers
{
public class UserManagerController : BaseController
{
public UserManagerApp App { get; set; }
private readonly UserManagerApp _app;
public UserManagerController(IAuth authUtil, UserManagerApp app) : base(authUtil)
{
_app = app;
}
//
// GET: /UserManager/
[Authenticate]
public ActionResult Index()
{
return View();
}
public ActionResult Profile()
{
return View();
}
//添加或修改组织
[System.Web.Mvc.HttpPost]
public string AddOrUpdate(UserView view)
public ActionResult ChangePassword()
{
return View();
}
/// <summary>
/// 修改用户资料
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public string ChangeProfile(ChangeProfileReq request)
{
try
{
App.AddOrUpdate(view);
_app.ChangeProfile(request);
Result.Message = "修改成功,重新登录生效";
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 修改密码
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public string ChangePassword(ChangePasswordReq request)
{
try
{
_app.ChangePassword(request);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改组织
[HttpPost]
public string AddOrUpdate(UpdateUserReq request)
{
try
{
_app.AddOrUpdate(request);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
@@ -42,22 +95,22 @@ namespace OpenAuth.Mvc.Controllers
/// <summary>
/// 加载组织下面的所有用户
/// </summary>
public string Load([FromUri]QueryUserListReq request)
public string Load([FromQuery]QueryUserListReq request)
{
return JsonHelper.Instance.Serialize(App.Load(request));
return JsonHelper.Instance.Serialize(_app.Load(request));
}
[System.Web.Mvc.HttpPost]
[HttpPost]
public string Delete(string[] ids)
{
try
{
App.Delete(ids);
_app.Delete(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
Result.Message = e.InnerException?.Message ?? e.Message;
}
return JsonHelper.Instance.Serialize(Result);
@@ -71,7 +124,7 @@ namespace OpenAuth.Mvc.Controllers
/// </summary>
public string GetAccessedUsers()
{
IEnumerable<UserView> users = App.Load(new QueryUserListReq()).data;
IEnumerable<UserView> users = _app.Load(new QueryUserListReq()).data;
var result = new Dictionary<string, object>();
foreach (var user in users)
{
@@ -92,5 +145,6 @@ namespace OpenAuth.Mvc.Controllers
return JsonHelper.Instance.Serialize(result);
}
#endregion
}
}

View File

@@ -1,24 +1,69 @@
using System;
// ***********************************************************************
// Assembly : OpenAuth.Mvc
// Author : 李玉宝
// Created : 06-08-2018
//
// Last Modified By : 李玉宝
// Last Modified On : 07-04-2018
// ***********************************************************************
// <copyright file="UserSessionController.cs" company="OpenAuth.Mvc">
// Copyright (c) http://www.openauth.me. All rights reserved.
// </copyright>
// <summary>
// 获取登录用户的全部信息
// 所有和当前登录用户相关的操作都在这里
// </summary>
// ***********************************************************************
using System;
using System.Collections.Generic;
using System.Linq;
using Infrastructure;
using Infrastructure.Helpers;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Response;
using OpenAuth.App.SSO;
using OpenAuth.Repository.Domain;
namespace OpenAuth.Mvc.Controllers
{
/// <summary>
/// 获取登录用户的全部信息
/// <para>所有和当前登录用户相关的操作都在这里</para>
/// </summary>
public class UserSessionController : BaseController
{
UserWithAccessedCtrls user = AuthUtil.GetCurrentUser();
private readonly AuthStrategyContext _authStrategyContext;
public UserSessionController(IAuth authUtil) : base(authUtil)
{
_authStrategyContext = _authUtil.GetCurrentUser();
}
/// <summary>
/// 获取用户资料
/// </summary>
/// <returns></returns>
public string GetUserProfile()
{
var resp = new Response<UserView>();
try
{
resp.Result = _authStrategyContext.User.MapTo<UserView>();
}
catch (Exception e)
{
resp.Code = 500;
resp.Message = e.Message;
}
return JsonHelper.Instance.Serialize(resp);
}
public string GetUserName()
{
return _authUtil.GetUserName();
}
/// <summary>
/// 获取登录用户可访问的所有模块,及模块的操作菜单
/// </summary>
public string GetModulesTree()
{
var moduleTree = user.Modules.GenerateTree(u => u.Id, u => u.ParentId);
var moduleTree = _authStrategyContext.Modules.GenerateTree(u => u.Id, u => u.ParentId);
return JsonHelper.Instance.Serialize(moduleTree);
}
@@ -27,18 +72,18 @@ namespace OpenAuth.Mvc.Controllers
/// </summary>
/// <param name="pId"></param>
/// <returns></returns>
public string GetModules(string pId)
public string GetModulesTable(string pId)
{
string cascadeId = ".0.";
if (!string.IsNullOrEmpty(pId))
{
var obj = user.Modules.SingleOrDefault(u => u.Id == pId);
var obj = _authStrategyContext.Modules.SingleOrDefault(u => u.Id == pId);
if (obj == null)
throw new Exception("未能找到指定对象信息");
cascadeId = obj.CascadeId;
}
var query = user.Modules.Where(u => u.CascadeId.Contains(cascadeId));
var query = _authStrategyContext.Modules.Where(u => u.CascadeId.Contains(cascadeId));
return JsonHelper.Instance.Serialize(new TableData
{
@@ -51,10 +96,19 @@ namespace OpenAuth.Mvc.Controllers
/// <summary>
/// 获取用户可访问的模块列表
/// </summary>
public string QueryModuleList()
public string GetModules()
{
var orgs = user.Modules.MapToList<ModuleView>();
return JsonHelper.Instance.Serialize(orgs);
var resp = new Response<List<ModuleView>>();
try
{
resp.Result = _authStrategyContext.Modules;
}
catch (Exception e)
{
resp.Code = 500;
resp.Message = e.Message;
}
return JsonHelper.Instance.Serialize(resp);
}
/// <summary>
@@ -63,7 +117,43 @@ namespace OpenAuth.Mvc.Controllers
/// </summary>
public string GetOrgs()
{
return JsonHelper.Instance.Serialize(user.Orgs);
var resp = new Response<List<Org>>();
try
{
resp.Result = _authStrategyContext.Orgs;
}
catch (Exception e)
{
resp.Code = 500;
resp.Message = e.Message;
}
return JsonHelper.Instance.Serialize(resp);
}
/// <summary>
/// 获取当前登录用户可访问的字段
/// </summary>
/// <param name="moduleCode">模块的Code如Category</param>
/// <returns></returns>
public string GetProperties(string moduleCode)
{
try
{
var list = _authStrategyContext.GetProperties(moduleCode);
return JsonHelper.Instance.Serialize(new TableData
{
data = list,
count = list.Count(),
});
}
catch (Exception ex)
{
return JsonHelper.Instance.Serialize(new TableData
{
msg =ex.Message,
code = 500,
});
}
}
/// <summary>
@@ -76,7 +166,7 @@ namespace OpenAuth.Mvc.Controllers
string cascadeId = ".0.";
if (!string.IsNullOrEmpty(orgId))
{
var org = user.Orgs.SingleOrDefault(u => u.Id == orgId);
var org = _authStrategyContext.Orgs.SingleOrDefault(u => u.Id == orgId);
if (org == null)
{
return JsonHelper.Instance.Serialize(new TableData
@@ -88,7 +178,7 @@ namespace OpenAuth.Mvc.Controllers
cascadeId = org.CascadeId;
}
var query = user.Orgs.Where(u => u.CascadeId.Contains(cascadeId));
var query = _authStrategyContext.Orgs.Where(u => u.CascadeId.Contains(cascadeId));
return JsonHelper.Instance.Serialize(new TableData
{
@@ -97,11 +187,5 @@ namespace OpenAuth.Mvc.Controllers
});
}
//获取当前页面菜单
public string GetButtonns()
{
var module = user.Modules.Single(u => u.Name.Contains(""));
return JsonHelper.Instance.Serialize(module.Elements);
}
}
}

View File

@@ -0,0 +1,83 @@
using System;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
namespace OpenAuth.Mvc.Controllers
{
public class WmsInboundOrderTblsController : BaseController
{
private readonly WmsInboundOrderTblApp _app;
public WmsInboundOrderTblsController(WmsInboundOrderTblApp app, IAuth auth) : base(auth)
{
_app = app;
}
//主页
public ActionResult Index()
{
return View();
}
//添加或修改
[HttpPost]
public string Add(AddOrUpdateWmsInboundOrderTblReq obj)
{
try
{
_app.Add(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改
[HttpPost]
public string Update(AddOrUpdateWmsInboundOrderTblReq obj)
{
try
{
_app.Update(obj);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 加载列表
/// </summary>
public string Load([FromQuery]QueryWmsInboundOrderTblListReq request)
{
return JsonHelper.Instance.Serialize(_app.Load(request));
}
[HttpPost]
public string Delete(string[] ids)
{
try
{
_app.Delete(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
}
}