コード例 #1
0
        public ActionResult Login(LoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                var userSvc       = new SysUserService();
                var permissionSvc = new SysPermissionService();

                //判断登录
                if (userSvc.Login(model.LoginName, model.LoginPwd))
                {
                    Session[CommonSession.SysUserName]     = model.LoginName;          //当前登录用户名
                    Session[CommonSession.SysUserRealName] = userSvc.SysUser.RealName; //当前登录用户名
                    Session[CommonSession.SysUserId]       = userSvc.UserId;           //当前登录用户编号
                    Session[CommonSession.SysDepartId]     = userSvc.SysDepartId;      //当前登录用户所属部门
                    Session[CommonSession.SysDepartName]   = userSvc.SysDepartName;    //当前登录用户所属部门名称
                    Session[CommonSession.SysDepartType]   = userSvc.SysDepartType;    //当前登录用户所属部门类型
                    Session[CommonSession.RegionCity]      = userSvc.RegionCity;       //当前登录用户所属城市
                    Session[CommonSession.RegionCounty]    = userSvc.RegionCounty;     //当前登录用户所属县区
                    Session[CommonSession.CurrentUser]     = userSvc.SysUser;          //当前登录的用户实体
                    Session[CommonSession.SysRoles]        = userSvc.SysRole;          //当前登录用户角色
                    model.LoginName = userSvc.SysUser.RealName;
                    return(RedirectToAction(nameof(Success)));                         //跳转
                }
                else
                {
                    ModelState.AddModelError("", @"您的账号密码有误");
                }
            }
            return(View(model));
        }
コード例 #2
0
 public PagesRolePermissionModel(SysMenuService sysMenuService, SysRoleService sysRoleService, SysPermissionService sysPermissionService)
 {
     CurrentMenu           = "Role";
     _sysRoleService       = sysRoleService;
     _sysPermissionService = sysPermissionService;
     //_sysRoleMenuService = sysRoleMenuService;
     _sysMenuService = sysMenuService;
 }
コード例 #3
0
        /// <summary>
        /// 获取无状态的菜单信息
        /// </summary>
        /// <param name="sysPermissionService"></param>
        /// <returns></returns>
        public async Task <IActionResult> OnGetMenuTreeAsync([FromServices] SysPermissionService sysPermissionService)
        {
            IEnumerable <SysMenuDto> sysMenus = await sysPermissionService.GetCurrentUserMenuDtoAsync();

            var results = await GetSysMenuTreesMainRecursiveAsync(sysMenus);

            return(Ok(results));
        }
コード例 #4
0
 public AuthorizationMenuTagHelper(IServiceProvider serviceProvider)
 {
     _serviceProvider       = serviceProvider;
     _sysPermissionService  = _serviceProvider.GetService <SysPermissionService>();
     _actionContextAccessor = _serviceProvider.GetService <Microsoft.AspNetCore.Mvc.Infrastructure.IActionContextAccessor>();
     //_adminWorkContextProvider = _serviceProvider.GetService<Core.WorkContext.Provider.IAdminWorkContextProvider>();
     //_httpContextAccessor = _serviceProvider.GetService<Microsoft.AspNetCore.Http.IHttpContextAccessor>();
 }
コード例 #5
0
        public async Task <IActionResult> OnGetMenuResourceAsync([FromServices] SysPermissionService sysPermissionService)
        {
            IEnumerable <SysMenuDto> sysMenus = await sysPermissionService.GetCurrentUserMenuDtoAsync();

            var results       = getSysMenuTreesMainRecursive(sysMenus);
            var resourceCodes = await sysPermissionService.GetCurrentUserResourcesDtoAsync();

            return(Ok(new { menuList = results, resourceCodes }));
        }
コード例 #6
0
        /// <summary>
        /// 删除模块
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> OnPostDeleteAsync(int id)
        {
            var module = await _xncfModuleService.GetObjectAsync(z => z.Id == id).ConfigureAwait(false);

            if (module == null)
            {
                throw new Exception("模块未添加!");
            }

            //删除菜单
            Func <Task> uninstall = async() =>
            {
                //删除菜单
                SysPermissionService sysPermissionService = _serviceProvider.GetService <SysPermissionService>();
                var menu = await _sysMenuService.GetObjectAsync(z => z.Id == module.MenuId).ConfigureAwait(false);

                if (menu != null)
                {
                    //删除菜单
                    await _sysMenuService.DeleteObjectAsync(menu).ConfigureAwait(false);

                    //删除权限数据
                    await sysPermissionService.DeleteAllAsync(_ => _.PermissionId == menu.Id);

                    //更新菜单缓存
                    await _sysMenuService.GetMenuDtoByCacheAsync(true).ConfigureAwait(false);
                }
                await _xncfModuleService.DeleteObjectAsync(module).ConfigureAwait(false);
            };


            //尝试从已加载的模块中执行删除过程
            var register = XncfRegisterManager.RegisterList.FirstOrDefault(z => z.Uid == module.Uid);

            if (register == null)
            {
                //直接删除,如dll已经不存在,可能引发此问题,只能在当前系统内直接执行删除
                await uninstall().ConfigureAwait(false);
            }
            else
            {
                await register.UninstallAsync(_serviceProvider, uninstall).ConfigureAwait(false);
            }

            return(Ok(true));
        }
コード例 #7
0
 public AuthenticationResultFilterAttribute(SysPermissionService sysPermissionService, Core.WorkContext.Provider.IAdminWorkContextProvider adminWorkContextProvider, SysMenuService _sysMenuService)
 {
     this._sysPermissionService     = sysPermissionService;
     this._adminWorkContextProvider = adminWorkContextProvider;
     this._sysMenuService           = _sysMenuService;
 }