Пример #1
0
 public override bool HasAnyCategoryPermission(long permissionObject, long permissions, PermissionLimiterBase limiterFunctionChecker)
 {
     if (!HttpContext.Current.User.Identity.IsAuthenticated)
     {
         return(false);
     }
     return(UserPermissionHelper.HasAnyCategoryPermission((P)Enum.Parse(typeof(P), permissionObject.ToString()), permissions, limiterFunctionChecker));
 }
Пример #2
0
 /// <summary>
 /// بدون توجه به رسته اجازه ها، چک می کند که آیا اجازه ای دارد. برای زمانی مناسب است که مثلا می خواهیم یک منو رو فعال یا غیرفعال کنیم ولی رسته ان بعدا مشخص می شود
 /// مثال : آیا اجازه ارسال دستور حداقل در یک استان را دارد؟
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="permissions"></param>
 /// <returns></returns>
 public bool HasAnyCategoryPermission <T>(T permissions) where T : struct
 {
     if (!HttpContext.Current.User.Identity.IsAuthenticated)
     {
         return(false);
     }
     return(UserPermissionHelper.HasAnyCategoryPermission(permissions));
 }
Пример #3
0
 /// <summary>
 /// از ارسال اجازه های ترکیبی به این پارامتر خودداری شود
 /// </summary>
 /// <param name="permissionObject"></param>
 /// <param name="requestedPermissions"></param>
 /// <returns></returns>
 public bool HasFullPermissionOf(P permissionObject, long requestedPermissions, K?categoryKey = null)
 {
     if (!HttpContext.Current.User.Identity.IsAuthenticated)
     {
         return(false);
     }
     return(UserPermissionHelper.HasFullPermissionOf(permissionObject, requestedPermissions, categoryKey));
 }
Пример #4
0
 public bool?HasPermission(P permissionObject, long requestedPermissions /*NOTE:this parameter can be cumulative*/, PermissionLimiterBase permissionLimiter)
 {
     if (!HttpContext.Current.User.Identity.IsAuthenticated)
     {
         return(false);
     }
     return(UserPermissionHelper.HasPermission(permissionObject, requestedPermissions, permissionLimiter));
 }
Пример #5
0
 public bool?HasPermission(P permissionObject, long requestedPermissions /*NOTE:this parameter can be cumulative*/, PermissionLimiterBase permissionLimiter, K?categoryKey = null)
 {
     if (!HttpContext.Current.User.Identity.IsAuthenticated)
     {
         return(false);
     }
     if (categoryKey == null)
     {
         categoryKey = GetPermissionCategoryKey(PermissionCoordinator.GetPermissionCategory(permissionObject));
     }
     return(UserPermissionHelper.HasPermission(permissionObject, requestedPermissions, permissionLimiter, categoryKey));
 }
Пример #6
0
        /// <summary>
        /// از ارسال اجازه های ترکیبی به این پارامتر خودداری شود
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="permissions"></param>
        /// <returns></returns>
        public bool HasFullPermissionOf <T>(T permissions, K?categoryKey = null) where T : struct
        {
            if (!HttpContext.Current.User.Identity.IsAuthenticated)
            {
                return(false);
            }
            if (categoryKey == null)
            {
                categoryKey = GetPermissionCategoryKey(PermissionCoordinator.GetPermissionCategory(PermissionCoordinator.GetRelatedPermissionItem(typeof(T))));
            }

            return(UserPermissionHelper.HasFullPermissionOf <T>(permissions, categoryKey));
        }
Пример #7
0
        public ActionResult CheckLogin(User user, long timeZoneOffset, string language)
        {
            bool   isSuccess = false;
            string userId    = "";
            bool   isAdmin   = false;
            string message   = string.Empty;
            int    roleId    = 0;

            user.Password = securityService.GenerateHashWithSalt(user.Password, user.LoginName);
            var aUser = userService.AuthenticateUser(user);

            if (aUser != null)
            {
                if (aUser.RoleId > 0)
                {
                    isSuccess = true;
                    message   = "Login Successful.";
                    userId    = aUser.Id.ToString();
                    if (aUser.Role.Level > 0)
                    {
                        isAdmin = true;
                    }
                    roleId = aUser.RoleId;

                    UserSession.SetUserFromSession(UserHelper.PrepareUserModel(roleService, aUser));
                    UserSession.SetTimeZoneOffset(timeZoneOffset);
                    UserSession.SetCurrentUICulture(language);

                    var schoolIds = UserPermissionHelper.GetSchoolIdByAccess(userPermissionService, schoolService);
                    UserSession.SetUserSchoolAccess(schoolIds);
                }
            }
            else
            {
                message = "Failed to Authenticate";
            }

            return(Json(new
            {
                isSuccess = isSuccess,
                message = message,
                userId = userId,
                RoleId = roleId,
                IsAdmin = isAdmin
            }, JsonRequestBehavior.AllowGet));
        }
Пример #8
0
 public List <K?> GetAllowedCategoryObjects(C?category)
 {
     return(UserPermissionHelper.GetAllowedCategoryObjects(category));
 }
Пример #9
0
 public List <K?> GetAllowedPermissionObjects <T>(T permissions) where T : struct
 {
     return(UserPermissionHelper.GetAllowedObjects(permissions));
 }
Пример #10
0
        private void menu_ShortCutClick(object sender, OnShortCutClickEventArgs e)
        {
            //礼品特殊处理
            V_UserMenuPermission currentMenu = e.Result;

            if (currentMenu.URLADDRESS.ToUpper().Contains("MVC"))
            {
                string strUrl = string.Empty;
                try
                {
                    #region 打开外部Url链接
                    HtmlWindow wd = HtmlPage.Window;
                    strUrl = currentMenu.URLADDRESS.Substring(currentMenu.URLADDRESS.IndexOf("[mvc]")).Replace("[mvc]", "");
                    strUrl = strUrl.Split(',')[0].Replace('.', '/');
                    if (strUrl.IndexOf('?') > -1)
                    {
                        strUrl = strUrl + "&uid=" + SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                    }
                    else
                    {
                        strUrl = strUrl + "?uid=" + SMT.SAAS.Main.CurrentContext.Common.CurrentLoginUserInfo.EmployeeID;
                    }
                    string strHost = SMT.SAAS.Main.CurrentContext.Common.HostAddress.ToString().Split('/')[0];
                    strUrl = "http://" + strHost + "/" + strUrl;
                    Uri uri = new Uri(strUrl);

                    HtmlPopupWindowOptions options = new HtmlPopupWindowOptions();
                    options.Directories = false;
                    options.Location    = false;
                    options.Menubar     = false;
                    options.Status      = false;
                    options.Toolbar     = false;
                    options.Status      = false;
                    options.Resizeable  = true;
                    options.Left        = 280;
                    options.Top         = 100;
                    options.Width       = 800;
                    options.Height      = 600;
                    //HtmlPage.PopupWindow(uri, info.ModuleCode, options);
                    string strWindow = System.DateTime.Now.ToString("yyMMddHHmsssfff");
                    wd.Navigate(uri, strWindow, "directories=no,fullscreen=no,menubar=no,resizable=yes,scrollbars=yes,status=no,titlebar=no,toolbar=no");
                    #endregion
                }
                catch
                {
                    MessageBox.Show("模块链接异常:" + currentMenu.MENUNAME);
                }
            }
            else
            {
                _fromMenu = true;
                if (MenuPanel != null)
                {
                    MenuPanel.showLoading();
                }

                dragShortCut.Visibility = System.Windows.Visibility.Collapsed;
                MainPage.isDrag         = false;
                //1. 检测菜单权限
                // CheckPermission(e.Result);
                _currentClickModule = currentMenu;
                //1. 获取用户菜单权限
                UserPermissionHelper.OnGetUserMenuPermissionCompleted += new EventHandler((obj, arg) => {
                    OpenMenuContent(currentMenu);
                });
                UserPermissionHelper.GetUserMenuPermission(_currentClickModule);
            }
        }