public Result Login([FromForm] string userName, [FromForm] string password, [FromForm] string code) { return(this.GetResultContent(AdminAgent.Instance().Login(userName, password, code, out string token), "登录成功", new { Token = token })); }
/// <summary> /// 方法执行之前 /// </summary> /// <param name="context"></param> public override void OnActionExecuting(ActionExecutingContext context) { MethodInfo method = (context.ActionDescriptor as ControllerActionDescriptor).MethodInfo; bool isGuest = method.HasAttribute <GuestAttribute>(); bool isUser = context.HttpContext.GetAuth(out string userName, out string token); SystemAdmin admin = isUser ? AdminAgent.Instance().GetAdminInfo(token) : null; if (!isGuest && admin == null) { context.Result = (ContentResult) new Result(false, "请先登录", new { Error = ErrorType.Login }); } else if (method.HasAttribute <PermissionAttribute>() && !AdminAgent.Instance().IsPermission(admin?.ID, method.GetAttribute <PermissionAttribute>())) { string permission = method.GetAttribute <PermissionAttribute>(); context.Result = (ContentResult) new Result(false, $"没有权限:{ Permission.NAME.Get(permission, method.Name) }", new { Error = ErrorType.Permission }); } if (admin != null) { context.HttpContext.SetItem <IAccount>(admin); } }
/// <summary> /// 管理员操作日志 /// </summary> /// <param name="account"></param> /// <returns></returns> public static bool Log(this IAccount account, SystemAdminLog.LogType type, string content) { if (account == null) { return(false); } AdminAgent.Instance().SaveLog(account.ID, type, content); return(true); }
public Result Info() { SystemAdmin admin = AdminAgent.Instance().GetAdminInfo(this.AdminInfo); return(this.GetResultContent(new { admin.ID, admin.Name, admin.LoginAt, admin.LoginIP, IPAddress = IPAgent.GetAddress(admin.LoginIP), admin.Face })); }
public Result GetInfo([FromForm] int id) { SystemAdmin admin = AdminAgent.Instance().GetAdminInfo(id) ?? new SystemAdmin() { Permission = string.Empty }; XElement root = XElement.Parse(Resources.Permission); return(this.GetResultContent(new { admin.ID, admin.Status, admin.UserName, Permission = new JsonString(new AdminMenu(root, false, admin.Permission.Split(','))) })); }
public Result Logout() { AdminAgent.Instance().Logout(this.AdminInfo); return(this.GetResultContent(true)); }
public Result Menu() { AdminMenu menu = AdminAgent.Instance().GetAdminMenu(this.AdminInfo.ID); return(this.GetResultContent(menu.ToString())); }
public Result ResetPassword([FromForm] int id) { return(this.GetResultContent(AdminAgent.Instance().ResetPassword(id))); }
public Result SavePermission([FromForm] int id, [FromForm] SystemAdmin.AdminStatus?status, [FromForm] string permission) { return(this.GetResultContent(AdminAgent.Instance().SavePermission(id, status.Value, permission))); }
public Result AddAdmin([FromForm] string userName, [FromForm] string password) { return(this.GetResultContent(AdminAgent.Instance().AddAdminInfo(userName, password))); }