Ejemplo n.º 1
0
        public ActionResult Index(string ownerGuid, ExecutorTypes ownerType, PermissionModes permissionMode)
        {
            NameValueCollection nvc = this.Request.Form;
            Dictionary <Guid, PermissionItem> changedPermissionItems = new Dictionary <Guid, PermissionItem>();

            //获取选中的checkbox
            for (int i = 0; i < nvc.Count; i++)
            {
                string currentKey   = nvc.AllKeys[i];
                string currentValue = nvc[i];

                if (currentKey.StartsWith(SystemConst.PermissionItemValuePrefix) && currentValue.ToLower() == "on")
                {
                    int    guidStartPos              = SystemConst.PermissionItemValuePrefix.Length;
                    int    seperatorPos              = currentKey.LastIndexOf(SystemConst.PermissionItemGuidValueSeperator);
                    int    valueStarPos              = seperatorPos + SystemConst.PermissionItemGuidValueSeperator.Length;
                    string permissionItemGuidString  = currentKey.Substring(guidStartPos, seperatorPos - guidStartPos);
                    Guid   permissionItemGuid        = new Guid(permissionItemGuidString);
                    string permissionItemValueString = currentKey.Substring(valueStarPos);
                    int    permissionItemValue       = 0;
                    bool   isSuccessful              = int.TryParse(permissionItemValueString, out permissionItemValue);
                    if (isSuccessful == true)
                    {
                        if (changedPermissionItems.ContainsKey(permissionItemGuid))
                        {
                            changedPermissionItems[permissionItemGuid].PermissionItemValue |= permissionItemValue;
                        }
                        else
                        {
                            PermissionItem permissionItem =
                                new PermissionItem(permissionItemGuid, permissionItemValue, BusinessUserBLL.CurrentUser.UserGuid, BusinessUserBLL.CurrentUser.UserType, Logics.False);
                            changedPermissionItems.Add(permissionItemGuid, permissionItem);
                        }
                    }
                }
            }

            foreach (var permissionItem in changedPermissionItems)
            {
                BusinessPermission currentItem = new BusinessPermission(permissionItem.Value);
                currentItem.OwnerKey       = ownerGuid.ToString();
                currentItem.OwnerType      = ownerType;
                currentItem.PermissionMode = permissionMode;
                currentItem.PermissionKind = PermissionKinds.Operating;

                BusinessPermissionBLL.Instance.CreateOrUpdate(currentItem);
            }

            return(Json(new LogicStatusInfo(true, "保存权限成功")));
        }
Ejemplo n.º 2
0
 public PermissionObject(int pv, PermissionModes pm)
 {
     PermissionMode  = pm;
     PermissionValue = pv;
 }
Ejemplo n.º 3
0
 public PermissionObject(int pv)
 {
     PermissionMode  = PermissionModes.pm_Enabled;
     PermissionValue = pv;
 }
        public ActionResult Index(string ownerGuid, ExecutorTypes ownerType, PermissionModes permissionMode)
        {
            NameValueCollection nvc = this.Request.Form;
            Dictionary<Guid, PermissionItem> changedPermissionItems = new Dictionary<Guid, PermissionItem>();
            //获取选中的checkbox
            for (int i = 0; i < nvc.Count; i++)
            {
                string currentKey = nvc.AllKeys[i];
                string currentValue = nvc[i];

                if (currentKey.StartsWith(SystemConst.PermissionItemValuePrefix) && currentValue.ToLower() == "on")
                {
                    int guidStartPos = SystemConst.PermissionItemValuePrefix.Length;
                    int seperatorPos = currentKey.LastIndexOf(SystemConst.PermissionItemGuidValueSeperator);
                    int valueStarPos = seperatorPos + SystemConst.PermissionItemGuidValueSeperator.Length;
                    string permissionItemGuidString = currentKey.Substring(guidStartPos, seperatorPos - guidStartPos);
                    Guid permissionItemGuid = new Guid(permissionItemGuidString);
                    string permissionItemValueString = currentKey.Substring(valueStarPos);
                    int permissionItemValue = 0;
                    bool isSuccessful = int.TryParse(permissionItemValueString, out permissionItemValue);
                    if (isSuccessful == true)
                    {
                        if (changedPermissionItems.ContainsKey(permissionItemGuid))
                        {
                            changedPermissionItems[permissionItemGuid].PermissionItemValue |= permissionItemValue;
                        }
                        else
                        {
                            PermissionItem permissionItem =
                                new PermissionItem(permissionItemGuid, permissionItemValue, BusinessUserBLL.CurrentUser.UserGuid, BusinessUserBLL.CurrentUser.UserType, Logics.False);
                            changedPermissionItems.Add(permissionItemGuid, permissionItem);
                        }
                    }
                }
            }

            foreach ( var permissionItem in changedPermissionItems)
            {
                BusinessPermission currentItem = new BusinessPermission(permissionItem.Value);
                currentItem.OwnerKey = ownerGuid.ToString();
                currentItem.OwnerType = ownerType;
                currentItem.PermissionMode = permissionMode;
                currentItem.PermissionKind = PermissionKinds.Operating;

                BusinessPermissionBLL.Instance.CreateOrUpdate(currentItem);
            }

            return Json(new LogicStatusInfo(true, "保存权限成功"));
        }
        /// <summary>
        /// 操作权限设置
        /// </summary>
        /// <param name="ownerGuid"></param>
        /// <param name="ownerName"></param>
        /// <param name="ownerType"></param>
        /// <param name="permissionMode"></param>
        /// <param name="returnUrl"></param>
        /// <returns></returns>
        public ActionResult Index(string ownerGuid = "b378663f-c02a-4205-957d-e47ec331d535", string ownerName = "xieran", ExecutorTypes ownerType = ExecutorTypes.User, PermissionModes permissionMode = PermissionModes.Allow, string returnUrl = StringHelper.Empty)
        {
            PermissionValidateConfig config = PermissionValidateConfig.GetConfig();

            this.ViewBag.OwnerGuid = ownerGuid;
            this.ViewBag.OwnerName = ownerName;
            this.ViewBag.OwnerType = ownerType;
            this.ViewBag.PermissionMode = permissionMode;
            this.ViewBag.ReturnUrl = returnUrl;
            return View(config);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 操作权限设置
        /// </summary>
        /// <param name="ownerGuid"></param>
        /// <param name="ownerName"></param>
        /// <param name="ownerType"></param>
        /// <param name="permissionMode"></param>
        /// <param name="returnUrl"></param>
        /// <returns></returns>
        public ActionResult Index(string ownerGuid = "b378663f-c02a-4205-957d-e47ec331d535", string ownerName = "xieran", ExecutorTypes ownerType = ExecutorTypes.User, PermissionModes permissionMode = PermissionModes.Allow, string returnUrl = StringHelper.Empty)
        {
            PermissionValidateConfig config = PermissionValidateConfig.GetConfig();

            this.ViewBag.OwnerGuid      = ownerGuid;
            this.ViewBag.OwnerName      = ownerName;
            this.ViewBag.OwnerType      = ownerType;
            this.ViewBag.PermissionMode = permissionMode;
            this.ViewBag.ReturnUrl      = returnUrl;
            return(View(config));
        }