コード例 #1
0
        //private readonly IWebHostEnvironment _webHostEnvironment;

        //public LocalFile(IWebHostEnvironment webHostEnvironment)
        //{
        //    this._webHostEnvironment = webHostEnvironment;
        //}

        //public string Upload(IFormFile file)
        //{
        //    string path = string.Concat(_webHostEnvironment.ContentRootPath, "\\wwwroot\\Files");
        //    if (!Directory.Exists(path))
        //    {
        //        Directory.CreateDirectory(path);
        //    }
        //    //var file = Request.Form.Files[0];
        //     var fileName=  ImgDealwith(file);
        //    string fileFullName = path + "\\" + fileName;

        //    using (FileStream fs = File.Create(fileFullName))
        //    {
        //        file.CopyTo(fs);
        //        fs.Flush();
        //    }
        //    return fileName;
        //}
        public static string ImgDealwith(IFormFile file)
        {
            string fileExt = file.FileName.Split('.')[file.FileName.Split('.').Length - 1];

            if (fileExt == null)
            {
                throw new FriendlyException("上传的文件没有后缀");
            }
            //判断文件大小
            long length = file.Length;

            if (length > 1024 * 1024 * 2) //2M
            {
                throw new FriendlyException("上传的文件不能大于2M");
            }
            string imgTypes = ".gif|.jpg|.php|.jsp|.jpeg|.png|......";

            if (imgTypes.IndexOf(fileExt.ToLower(), StringComparison.Ordinal) <= -1)
            {
                throw new FriendlyException("上传的文件不是图片");
            }
            string filename = Md5Crypt.GetStreamMd5(file.OpenReadStream()) + "." + fileExt;

            return(filename);
        }
コード例 #2
0
        public async Task <ApiResult> ModfiyPwdAsync(ModifyPwdInput modifyPwdInput)
        {
            if (modifyPwdInput.Id == 0)
            {
                modifyPwdInput.Id = _currentUserContext.Id;
            }
            if (!modifyPwdInput.ConfirmPassword.Equals(modifyPwdInput.NewPassword))
            {
                throw new ArgumentNullException("两次输入的密码不一致");
            }
            modifyPwdInput.OldPassword = Md5Crypt.Encrypt(modifyPwdInput.OldPassword);
            var model = await GetModelAsync(d => d.Id == modifyPwdInput.Id);

            if (model.Id <= 0)
            {
                throw new ArgumentNullException("用户信息为空");
            }
            if (model.Password == modifyPwdInput.OldPassword)
            {
                throw new ArgumentNullException("旧密码错误!");
            }
            modifyPwdInput.ConfirmPassword = Md5Crypt.Encrypt(modifyPwdInput.ConfirmPassword);
            var i = await UpdateAsync(d => new User()
            {
                Password = modifyPwdInput.ConfirmPassword
            }, d => d.Id == modifyPwdInput.Id);

            return(new ApiResult(i));
        }
コード例 #3
0
ファイル: SysUserController.cs プロジェクト: ztxyzu/BasisSoa
        public async Task <ApiResult <string> > Post(EditSysUserDto Params)
        {
            ApiResult <string> res   = new ApiResult <string>();
            TokenModelBeta     token = JwtToken.ParsingJwtToken(HttpContext);

            //开启事务
            try {
                SysUser userInfo = _mapper.Map <SysUser>(Params);
                userInfo.Id          = Guid.NewGuid().ToString();
                userInfo.CreatorTime = DateTime.Now;
                userInfo.CreatorId   = token.Id;
                await _userService.AddAsync(userInfo);

                SysUserLogon userLogonInfo = _mapper.Map <SysUserLogon>(Params);
                userLogonInfo.Id               = Guid.NewGuid().ToString();
                userLogonInfo.UserId           = userInfo.Id;
                userLogonInfo.LogOnCount       = 0;
                userLogonInfo.UserSecretkey    = Md5Crypt.Encrypt(Guid.NewGuid().ToString());
                userLogonInfo.UserPassword     = Md5Crypt.Encrypt(DES3Encrypt.EncryptString(userLogonInfo.UserPassword.ToLower(), userLogonInfo.UserSecretkey).ToLower(), false).ToLower();
                userLogonInfo.PasswordSecurity = UniversalTool.PassSecurityValidation(userLogonInfo.UserPassword);
                await _userLogonService.AddAsync(userLogonInfo);
            }
            catch (Exception ex) {
                res.code    = (int)ApiEnum.Error;
                res.message = "异常:" + ex.Message;
            }

            //事务结束


            return(await Task.Run(() => res));
        }
コード例 #4
0
        public static string SignRequest(IDictionary <string, string> parameters, string charset = "utf-8")
        {
            parameters.Add("appid", appid);
            parameters.Add("timestamp", DateTime.Now.ToTimeStamp().ToString());
            string signContent = GetSignContent(parameters) + token;

            return(Md5Crypt.Encrypt(signContent));
        }
コード例 #5
0
        public void Should_Crypt_A_Value_And_Return_True()
        {
            const string valueToCrypt  = "valueForCrypt";
            const string valueExpected = "1269625422195213179552518142117665319216";
            var          md5           = new Md5Crypt();
            var          result        = md5.Crypt(valueToCrypt);

            System.Console.WriteLine(result);
            Assert.Equal(valueExpected, result);
        }
コード例 #6
0
        public async Task <ApiResult> RegisterAsync(UserRegisterInput userRegisterInput)
        {
            userRegisterInput.Password = Md5Crypt.Encrypt(userRegisterInput.Password);
            var userModel = _mapper.Map <User>(userRegisterInput);

            userModel.CreateTime = DateTime.Now;
            userModel.Ip         = _accessor.HttpContext.Request.Headers["X-Forwarded-For"].FirstOrDefault() ?? _accessor.HttpContext.Connection.RemoteIpAddress.ToString();
            userModel.Address    = IpParse.GetAddressByIP(userModel.Ip);
            var i = await AddAsync(userModel);

            return(new ApiResult(i));
        }
コード例 #7
0
ファイル: SysUserController.cs プロジェクト: ztxyzu/BasisSoa
        public async Task <ApiResult <string> > Put(string Id, EditSysUserDto Params)
        {
            ApiResult <string> res = new ApiResult <string>();


            //开启事务
            try
            {
                SysUser userInfo = _mapper.Map <SysUser>(Params);
                if (!UniversalTool.ModuleIsNull(userInfo))
                {
                    userInfo.Id = Id;
                    await _userService.UpdateAsync(userInfo);
                }


                if (string.IsNullOrEmpty(Params.UserPassword) || Params.UserPassword == "********")
                {
                    Params.UserPassword     = null;
                    Params.PasswordSecurity = null;
                }
                SysUserLogon userLogonInfo = _mapper.Map <SysUserLogon>(Params);
                if (!UniversalTool.ModuleIsNull(userLogonInfo))
                {
                    SysUserLogon sysUserLogon = await _userLogonService.QueryFirstAsync(s => s.UserId == Id);

                    if (!string.IsNullOrEmpty(Params.UserPassword) && Params.UserPassword != "********")
                    {
                        userLogonInfo.PasswordSecurity = UniversalTool.PassSecurityValidation(userLogonInfo.UserPassword);
                        userLogonInfo.UserSecretkey    = Md5Crypt.Encrypt(Guid.NewGuid().ToString());
                        userLogonInfo.UserPassword     = Md5Crypt.Encrypt(DES3Encrypt.EncryptString(userLogonInfo.UserPassword.ToLower(), userLogonInfo.UserSecretkey).ToLower(), false).ToLower();
                    }
                    userLogonInfo.Id = sysUserLogon.Id;
                    await _userLogonService.UpdateAsync(userLogonInfo);
                }
            }
            catch (Exception ex)
            {
                res.code    = (int)ApiEnum.Error;
                res.message = "异常:" + ex.Message;
            }

            //事务结束

            return(await Task.Run(() => res));
        }
コード例 #8
0
        public async Task <ApiResult> ModfiyAsync(UserModifyInput userModifyInput)
        {
            userModifyInput.Password = Md5Crypt.Encrypt(userModifyInput.Password);

            var i = await UpdateAsync(d => new User()
            {
                Name     = userModifyInput.Name,
                Password = userModifyInput.Password,
                Mobile   = userModifyInput.Mobile,
                Status   = userModifyInput.Status,
                Remark   = userModifyInput.Remark,
                Email    = userModifyInput.Email,
                TrueName = userModifyInput.TrueName,
                Sex      = userModifyInput.Sex
            },
                                      d => d.Id == userModifyInput.Id);

            return(new ApiResult(i));
        }
コード例 #9
0
        /// <summary>
        /// 根据用户名密码获取用户信息
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public async Task <ApiResult <SysUser> > UserNameAndPassQueryAsync(string username, string password)
        {
            var res = new ApiResult <SysUser>();

            res.data = new SysUser();

            try
            {
                var userInfo = await Db.Queryable <SysUser>()
                               .Where(s => s.Account == username)
                               .Mapper(it => it.sysUserLogon, it => it.sysUserLogon.UserId)
                               .FirstAsync();

                if (userInfo != null)
                {
                    password = Md5Crypt.Encrypt(DES3Encrypt.EncryptString(password.ToLower(), userInfo.sysUserLogon.UserSecretkey).ToLower(), false).ToLower();
                    if (userInfo.sysUserLogon.UserPassword.Equals(password))
                    {
                        res.data = userInfo;
                    }
                    else
                    {
                        res.code    = (int)ApiEnum.Failure;
                        res.message = "账号错误,请重新输入";
                    }
                }
                else
                {
                    res.code    = (int)ApiEnum.Failure;
                    res.message = "用户不存在";
                }
            }
            catch (Exception ex)
            {
                res.message = ApiEnum.Error.GetEnumText() + ex.Message;
                res.code    = (int)ApiEnum.Error;
            }
            return(res);
        }
コード例 #10
0
        public async Task <ApiResult <LoginOutput> > LoginAsync(LoginInput loginInput)
        {
            loginInput.Password = Md5Crypt.Encrypt(loginInput.Password);
            var loginModel = await GetModelAsync(d => d.Name.Equals(loginInput.LoginName) && d.Password.Equals(loginInput.Password));

            if (loginModel.Id == 0)
            {
                return(new ApiResult <LoginOutput>("用户名或密码错误", 500));
            }
            string ip      = _accessor.HttpContext.Request.Headers["X-Forwarded-For"].FirstOrDefault() ?? _accessor.HttpContext.Connection.RemoteIpAddress.ToString();
            string address = IpParse.GetAddressByIP(ip);

            await UpdateAsync(d => new User()
            {
                LastLoginTime = DateTime.Now,
                Ip            = ip,
                Address       = address
            }, d => d.Id == loginModel.Id);

            var data = _mapper.Map <LoginOutput>(loginModel);

            return(new ApiResult <LoginOutput>(data));
        }
コード例 #11
0
        public static bool ValidateSign(IDictionary <string, string> parameters)
        {
            string _sign  = parameters["sign"].ToString();
            string _appid = parameters["appid"].ToString();

            if (_appid != appid)
            {
                return(false);
            }
            try
            {
                parameters.Remove("sign");
            }
            catch (Exception ex)
            {
            }
            DateTime dtTimestamp = Convert.ToInt32(parameters["timestamp"].ToString()).ToDateTime();
            DateTime dtCur       = DateTime.Now;

            if (dtTimestamp.AddMinutes(15) > dtCur)
            {
                return(false);
            }

            string signContent = GetSignContent(parameters) + token;
            string rightSign   = Md5Crypt.Encrypt(signContent);

            if (_sign.Equals(rightSign, StringComparison.OrdinalIgnoreCase))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #12
0
        /// <summary>
        /// 异步添加种子数据
        /// </summary>
        /// <param name="DbContext"></param>
        /// <returns></returns>
        public static async Task SeedAsync(BaseDbContext DbContext)
        {
            try
            {
                // 注意!一定要先手动创建一个空的数据库
                // 会覆盖,可以设置为true,来备份数据
                // 如果生成过了,第二次,就不用再执行一遍了,注释掉该方法即可
                DbContext.CreateTableByEntity(false, typeof(SysLog),
                                              typeof(SysUser),
                                              typeof(SysUserLogon),
                                              typeof(SysOrganize),
                                              typeof(SysRole),
                                              typeof(SysModule),
                                              typeof(SysModuleAction),
                                              typeof(SysRoleAuthorize),
                                              typeof(SysRoleAuthorizeAction),
                                              typeof(SysMessage));

                #region 追加种子数据

                string UserId     = Guid.NewGuid().ToString();
                string RoleId     = Guid.NewGuid().ToString();
                string OrganizeId = Guid.NewGuid().ToString();
                string ModuleId   = Guid.NewGuid().ToString();


                string UserSecretkey = Guid.NewGuid().ToString();

                if (!await DbContext.Db.Queryable <SysUser>().AnyAsync())
                {
                    DbContext.Db.Insertable(new SysOrganize()
                    {
                        Id         = OrganizeId,
                        ParentId   = "00000000-0000-0000-0000-000000000000",
                        Category   = "GROUP",
                        FullName   = "仓单系统总管理",
                        FullNameEn = "",
                        ShortName  = "仓单系统总管理",

                        DeleteMark   = false,
                        DeleteUserId = "",
                        DeleteTime   = null,

                        Description   = "",
                        IsExpand      = true,
                        EnabledMark   = true,
                        SortCode      = 1,
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable(new SysRole()
                    {
                        Id         = RoleId,
                        OrganizeId = OrganizeId,
                        ParentId   = "00000000-0000-0000-0000-000000000000",
                        Category   = "FATHER",
                        FullName   = "系统管理员",
                        FullNameEn = "",

                        DeleteMark   = false,
                        DeleteUserId = "",
                        DeleteTime   = null,

                        Description   = "",
                        IsExpand      = true,
                        EnabledMark   = true,
                        SortCode      = 1,
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable(new SysUser()
                    {
                        Id              = UserId,
                        RoleId          = RoleId,
                        OrganizeId      = OrganizeId,
                        Account         = "admin",
                        HeadIcon        = "https://b-ssl.duitang.com/uploads/item/201508/12/20150812204143_KHCAQ.thumb.700_0.jpeg",
                        WeChat          = "",
                        Tel             = "",
                        Birthday        = null,
                        RealName        = "管理员",
                        Email           = "*****@*****.**",
                        Token           = "",
                        IsAdministrator = true,
                        Description     = "",
                        EnabledMark     = true,
                        SortCode        = 1,
                        CreatorTime     = DateTime.Now,
                        CreatorId       = "00000000-0000-0000-0000-000000000000"
                    }).ExecuteCommand();
                    DbContext.Db.Insertable(new SysUserLogon()
                    {
                        Id               = Guid.NewGuid().ToString(),
                        UserId           = UserId,
                        Theme            = "",
                        Language         = "",
                        MultiUserLogin   = false,
                        LogOnCount       = 0,
                        UserSecretkey    = UserSecretkey,
                        PasswordSecurity = UniversalTool.PassSecurityValidation("123456"),
                        UserPassword     = Md5Crypt.Encrypt(DES3Encrypt.EncryptString("123456".ToLower(), UserSecretkey).ToLower(), false).ToLower(),
                    }).ExecuteCommand();
                    DbContext.Db.Insertable(new SysLog()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        Account       = "系统",
                        NickName      = "DbInit",
                        ModuleName    = "SeedInitAsync",
                        Result        = "OK",
                        ResultData    = "初始化数据库所有基础表 和 数据",
                        CreatorUserId = UserId,
                        CreatorTime   = DateTime.Now,
                    }).ExecuteCommand();



                    //主菜单
                    DbContext.Db.Insertable <SysModule>(new SysModule()
                    {
                        Id         = ModuleId,
                        ParentId   = "00000000-0000-0000-0000-000000000000",
                        FullName   = "系统",
                        FullNameEn = "",
                        Icon       = "",
                        UrlAddress = "",
                        ApiUrl     = "",
                        IsMenu     = true,
                        IsExpand   = true,


                        Description   = "系统",
                        SortCode      = 99,
                        EnabledMark   = true,
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,

                        DeleteMark   = false,
                        DeleteTime   = null,
                        DeleteUserId = null,
                    }).ExecuteCommand();
                    //子菜单 用户
                    string userModuleId = Guid.NewGuid().ToString();
                    DbContext.Db.Insertable <SysModule>(new SysModule()
                    {
                        Id         = userModuleId,
                        ParentId   = ModuleId,
                        FullName   = "用户管理",
                        FullNameEn = "SysUser",
                        Icon       = "",
                        UrlAddress = "/SysAdmin/user",
                        ApiUrl     = "/Api/SysUser",
                        IsMenu     = false,
                        IsExpand   = false,

                        Description = "用户管理",
                        SortCode    = 4,
                        EnabledMark = true,

                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,

                        DeleteMark   = false,
                        DeleteTime   = null,
                        DeleteUserId = null,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = userModuleId,
                        ActionName    = "",
                        RequestMethod = "POST",
                        ACL           = "POST",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = userModuleId,
                        ActionName    = "",
                        RequestMethod = "PUT",
                        ACL           = "PUT",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = userModuleId,
                        ActionName    = "",
                        RequestMethod = "GET",
                        ACL           = "GET",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = userModuleId,
                        ActionName    = "",
                        RequestMethod = "DELETE",
                        ACL           = "DELETE",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = userModuleId,
                        ActionName    = "GetUserDetails",
                        RequestMethod = "GET",
                        ACL           = "GetUserDetails",
                        EnabledMark   = true,
                        Description   = "获取用户详情 个人中心信息编辑",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = userModuleId,
                        ActionName    = "GetTokenUserDetails",
                        RequestMethod = "GET",
                        ACL           = "GetTokenUserDetails",
                        EnabledMark   = true,
                        Description   = "获取用户详情根据Token",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();


                    //子菜单 角色
                    string roleModuleId = Guid.NewGuid().ToString();
                    DbContext.Db.Insertable <SysModule>(new SysModule()
                    {
                        Id         = roleModuleId,
                        ParentId   = ModuleId,
                        FullName   = "角色管理",
                        FullNameEn = "SysUser",
                        Icon       = "",
                        UrlAddress = "/SysAdmin/role",
                        ApiUrl     = "/Api/SysRole",
                        IsMenu     = false,
                        IsExpand   = false,

                        Description = "角色管理",
                        SortCode    = 3,
                        EnabledMark = true,

                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,

                        DeleteMark   = false,
                        DeleteTime   = null,
                        DeleteUserId = null,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = roleModuleId,
                        ActionName    = "",
                        RequestMethod = "POST",
                        ACL           = "POST",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = roleModuleId,
                        ActionName    = "",
                        RequestMethod = "PUT",
                        ACL           = "PUT",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = roleModuleId,
                        ActionName    = "",
                        RequestMethod = "GET",
                        ACL           = "GET",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = roleModuleId,
                        ActionName    = "",
                        RequestMethod = "DELETE",
                        ACL           = "DELETE",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = roleModuleId,
                        ActionName    = "GetRoleTreeList",
                        RequestMethod = "GET",
                        ACL           = "GetRoleTreeList",
                        EnabledMark   = true,
                        Description   = "获取角色树",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();

                    //子菜单 组织
                    string organizeModuleId = Guid.NewGuid().ToString();
                    DbContext.Db.Insertable <SysModule>(new SysModule()
                    {
                        Id         = organizeModuleId,
                        ParentId   = ModuleId,
                        FullName   = "组织管理",
                        FullNameEn = "SysUser",
                        Icon       = "",
                        UrlAddress = "/SysAdmin/organize",
                        ApiUrl     = "/Api/SysOrganize",
                        IsMenu     = false,
                        IsExpand   = false,

                        Description = "组织管理",
                        SortCode    = 2,
                        EnabledMark = true,

                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,

                        DeleteMark   = false,
                        DeleteTime   = null,
                        DeleteUserId = null,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = organizeModuleId,
                        ActionName    = "",
                        RequestMethod = "POST",
                        ACL           = "POST",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = organizeModuleId,
                        ActionName    = "",
                        RequestMethod = "PUT",
                        ACL           = "PUT",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = organizeModuleId,
                        ActionName    = "",
                        RequestMethod = "GET",
                        ACL           = "GET",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = organizeModuleId,
                        ActionName    = "",
                        RequestMethod = "DELETE",
                        ACL           = "DELETE",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = organizeModuleId,
                        ActionName    = "GetOrganizeTreeList",
                        RequestMethod = "GET",
                        ACL           = "GetOrganizeTreeList",
                        EnabledMark   = true,
                        Description   = "获取组织树",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();



                    //子菜单 模块
                    string moduleModuleId = Guid.NewGuid().ToString();
                    DbContext.Db.Insertable <SysModule>(new SysModule()
                    {
                        Id         = moduleModuleId,
                        ParentId   = ModuleId,
                        FullName   = "模块管理",
                        FullNameEn = "SysUser",
                        Icon       = "",
                        UrlAddress = "/SysAdmin/module",
                        ApiUrl     = "/Api/SysModule",
                        IsMenu     = false,
                        IsExpand   = false,

                        Description = "模块管理",
                        SortCode    = 1,
                        EnabledMark = true,

                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,

                        DeleteMark   = false,
                        DeleteTime   = null,
                        DeleteUserId = null,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = moduleModuleId,
                        ActionName    = "",
                        RequestMethod = "POST",
                        ACL           = "POST",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = moduleModuleId,
                        ActionName    = "",
                        RequestMethod = "PUT",
                        ACL           = "PUT",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = moduleModuleId,
                        ActionName    = "",
                        RequestMethod = "GET",
                        ACL           = "GET",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = moduleModuleId,
                        ActionName    = "",
                        RequestMethod = "DELETE",
                        ACL           = "DELETE",
                        EnabledMark   = true,
                        Description   = "",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = moduleModuleId,
                        ActionName    = "GetModuleTreeList",
                        RequestMethod = "GET",
                        ACL           = "GetModuleTreeList",
                        EnabledMark   = true,
                        Description   = "获取模块树",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();
                    DbContext.Db.Insertable <SysModuleAction>(new SysModuleAction()
                    {
                        Id            = Guid.NewGuid().ToString(),
                        ModuleId      = moduleModuleId,
                        ActionName    = "GetModuleTreeAuthList",
                        RequestMethod = "GET",
                        ACL           = "GetModuleTreeAuthList",
                        EnabledMark   = true,
                        Description   = "获取权限模块树",
                        CreatorTime   = DateTime.Now,
                        CreatorUserId = UserId,
                    }).ExecuteCommand();


                    //角色模块权限
                    foreach (var item in await DbContext.Db.Queryable <SysModule>().ToListAsync())
                    {
                        //角色权限
                        DbContext.Db.Insertable <SysRoleAuthorize>(new SysRoleAuthorize()
                        {
                            Id            = Guid.NewGuid().ToString(),
                            RoleId        = RoleId,
                            ModuleId      = item.Id,
                            CreatorTime   = DateTime.Now,
                            CreatorUserId = UserId,
                        }).ExecuteCommand();
                    }


                    //角色模块按钮权限

                    foreach (var item in await DbContext.Db.Queryable <SysRoleAuthorize, SysModule, SysModuleAction>((sr, sm, sma) => new object[] {
                        JoinType.Left, sr.ModuleId == sm.Id,
                        JoinType.Left, sm.Id == sma.ModuleId,
                    })
                             .Where((sr, sm, sma) => sma.Id != null)
                             .Select((sr, sm, sma) => new {
                        id = sr.Id,
                        actionid = sma.Id
                    }).ToListAsync())
                    {
                        //角色权限
                        DbContext.Db.Insertable <SysRoleAuthorizeAction>(new SysRoleAuthorizeAction()
                        {
                            Id             = Guid.NewGuid().ToString(),
                            RoleAuthId     = item.id,
                            ModuleActionId = item.actionid,
                            CreatorTime    = DateTime.Now,
                            CreatorUserId  = UserId,
                        }).ExecuteCommand();
                    }
                }


                #endregion
            }
            catch (Exception ex)
            {
            }
        }
コード例 #13
0
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            var senhaCrypt = new Md5Crypt().Crypt("admin");

            migrationBuilder.Sql($"Insert Into usuarios (Id, Deletado, Nome, Email, Senha) values(1, \"false\", \"Admin\", \"[email protected]\", \"{senhaCrypt}\")");
        }