Exemplo n.º 1
0
        string code = String.Empty; // 编码

        #endregion

        #region 构造函数

        #endregion

        #region ASP.NET 事件

        protected void Page_Load(object sender, EventArgs e)
        {
            op   = RequestData.Get <string>("op");
            id   = RequestData.Get <string>("id");
            type = RequestData.Get <string>("type");
            code = RequestData.Get <string>("code");

            switch (RequestAction)
            {
            case RequestActionEnum.Default:
            case RequestActionEnum.Read:
            case RequestActionEnum.Query:
                DoSelect();
                break;

            case RequestActionEnum.Custom:
                if (RequestActionString == "getpermission")
                {
                    DynamicPermission[] dps = null;
                    if (type == "user")
                    {
                        dps = DynamicPermission.GetOrgPermissions(id, DynamicPermissionCatalog.SysCatalogEnum.SYS_USER);
                    }
                    else if (type == "role")
                    {
                        dps = DynamicPermission.GetOrgPermissions(id, DynamicPermissionCatalog.SysCatalogEnum.SYS_ROLE);
                    }
                    else if (type == "group")
                    {
                        dps = DynamicPermission.GetOrgPermissions(id, DynamicPermissionCatalog.SysCatalogEnum.SYS_GROUP);
                    }
                    else
                    {
                        dps = DynamicPermission.GetPermissionsByCatalogCode(id, type);
                    }

                    PageState.Add("DPList", dps);
                }
                break;

            case RequestActionEnum.Update:
                IList <string> pids = RequestData.GetList <string>("pidList");      // 权限标识
                IList <string> aids = RequestData.GetList <string>("aidList");      // 授权标识
                IList <string> ops  = RequestData.GetList <string>("opList");       // 操作标识

                string pcatalog = RequestData.Get <string>("pcatalog");
                string tag      = RequestData.Get <string>("tag");

                for (int i = 0; i < pids.Count; i++)
                {
                    var tpid = (pids[i] == null ? pids[i] : pids[i].Trim());
                    var taid = (aids[i] == null ? aids[i] : aids[i].Trim());
                    var top  = (ops[i] == null ? ops[i] : ops[i].Trim());

                    if (!String.IsNullOrEmpty(tpid))
                    {
                        DynamicPermission dp = DynamicPermission.Find(tpid);
                        if (!String.IsNullOrEmpty(top))
                        {
                            dp.Operation = top;
                            dp.DoUpdate();
                        }
                        else
                        {
                            dp.DoDelete();
                        }
                    }
                    else
                    {
                        if (!String.IsNullOrEmpty(taid) && !String.IsNullOrEmpty(top))
                        {
                            DynamicAuth    tauth   = DynamicAuth.Find(taid);
                            IList <string> tOpList = top.Split(DynamicOperations.DivChar);

                            if (type == "user")
                            {
                                DynamicPermission.GrantDAuthToUser(tauth, id, tOpList, null, UserInfo.UserID, UserInfo.Name);
                            }
                            else if (type == "role")
                            {
                                DynamicPermission.GrantDAuthToRole(tauth, id, tOpList, null, UserInfo.UserID, UserInfo.Name);
                            }
                            else if (type == "group")
                            {
                                DynamicPermission.GrantDAuthToGroup(tauth, id, tOpList, null, UserInfo.UserID, UserInfo.Name);
                            }
                            else
                            {
                                DynamicPermission.GrantDAuths(new DynamicAuth[] { tauth }, new string[] { id }, tOpList, pcatalog, tag, UserInfo.UserID, UserInfo.Name);
                            }
                        }
                    }
                }

                break;
            }
        }