Example #1
0
 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
     }));
 }
Example #2
0
        /// <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);
            }
        }
Example #3
0
 /// <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);
 }
Example #4
0
        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
            }));
        }
Example #5
0
        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(',')))
            }));
        }
Example #6
0
 public Result Logout()
 {
     AdminAgent.Instance().Logout(this.AdminInfo);
     return(this.GetResultContent(true));
 }
Example #7
0
        public Result Menu()
        {
            AdminMenu menu = AdminAgent.Instance().GetAdminMenu(this.AdminInfo.ID);

            return(this.GetResultContent(menu.ToString()));
        }
Example #8
0
 public Result ResetPassword([FromForm] int id)
 {
     return(this.GetResultContent(AdminAgent.Instance().ResetPassword(id)));
 }
Example #9
0
 public Result SavePermission([FromForm] int id, [FromForm] SystemAdmin.AdminStatus?status, [FromForm] string permission)
 {
     return(this.GetResultContent(AdminAgent.Instance().SavePermission(id, status.Value, permission)));
 }
Example #10
0
 public Result AddAdmin([FromForm] string userName, [FromForm] string password)
 {
     return(this.GetResultContent(AdminAgent.Instance().AddAdminInfo(userName, password)));
 }