Esempio n. 1
0
 public InfomationUsersAPIController(DataFrameworkWebContext context, AtInformationUserLogic logicInformation
                                     , AtAccountObjectLogic logicAccountObject, ATLogicBaseHelper LogicATLogicBaseHelper)
 {
     _context                = context;
     _logicInformation       = logicInformation;
     _logicAccountObject     = logicAccountObject;
     _LogicATLogicBaseHelper = LogicATLogicBaseHelper;
 }
        protected async Task <bool> CheckPermission(DataFrameworkWebContext _context)
        {
            string controllerName = ControllerContext.ActionDescriptor.ControllerName;
            string acctionName    = ControllerContext.ActionDescriptor.ActionName;
            // Kiểm tra xem MenuFunction có yêu cầu bắt buộc để kiểm tra phân quyền hay không? Hoặc trường hợp IsPublic=True
            var funcMenu = await _context.MenuFunction.FirstOrDefaultAsync(u => u.ControllerName.Equals(controllerName) && u.AcctionName.Equals(acctionName) && u.IsPublic == false).ConfigureAwait(false);

            if (funcMenu == null)
            {
                // Chưa có bắt buộc phân quyền cho Acction của Controller này, vì vậy lúc nào cũng được phép
                return(true);
            }
            else
            {
                // Chức năng này đang bắt buộc phải kiểm tra quyền theo từng người dùng
                var funcAccount = await _context.MenuFunction_Account.FirstOrDefaultAsync(u => u.FK_AccountObject == UserId && u.FK_MenuFunction == funcMenu.Id).ConfigureAwait(false);

                if (funcAccount == null)
                {
                    // Kiểm tra xem user thuộc Role có quyền hay không
                    bool isPermiss  = false;
                    var  listRoleId = User.Claims.Where(h => h.Type == ClaimTypes.Role).Select(h => h.Value).ToList();
                    foreach (var item in listRoleId)
                    {
                        var checkPermiss = await _context.MenuFunction_Role.FirstOrDefaultAsync(u => u.FK_MenuFunction == funcMenu.Id && u.FK_Role == item).ConfigureAwait(false);

                        if (checkPermiss != null)
                        {
                            isPermiss = true;
                            break;
                        }
                    }
                    return(isPermiss);
                }
                else
                {
                    return(true);
                }
            }
        }
Esempio n. 3
0
 public AtAccountObjectLogic(DataFrameworkWebContext context, IConfiguration config) : base(context, config)
 {
 }
Esempio n. 4
0
 public LoginController(DataFrameworkWebContext context)
 {
     _context = context;
 }
Esempio n. 5
0
 public AtInformationUserLogic(DataFrameworkWebContext context, IConfiguration config) : base(context, config)
 {
 }
Esempio n. 6
0
 public ATLogicBaseHelper(DataFrameworkWebContext context, IConfiguration config)
 {
     _context = context;
     _config  = config;
 }
Esempio n. 7
0
 public InformationUserBasicController(DataFrameworkWebContext context, AtInformationUserLogic logicInformation, AtAccountObjectLogic logicAccountObject)
 {
     _context            = context;
     _logicInformation   = logicInformation;
     _logicAccountObject = logicAccountObject;
 }
 public AtFileAttchmentLogic(DataFrameworkWebContext context, IConfiguration config) : base(context, config)
 {
 }