コード例 #1
0
        private DataTable QryButtAuth(string formid)
        {
            DataSet inblks = new DataSet();

            inblks.Tables.Add();
            int mode = -1;

            //user mode
            if (subjType == SUBJTYPE.USER)
            {
                mode = 2;
            }
            else
            {
                mode = 1;
            }

            inblks.Tables[0].Columns.Add("id");
            inblks.Tables[0].Columns.Add("formid");
            inblks.Tables[0].Columns.Add("mode");
            inblks.Tables[0].Columns.Add("appname");
            inblks.Tables[0].Rows.Add(subjEname, formid, mode, CConstString.AppName);

            DataTable outblks = DbUserRes.QueryButtonAuth(inblks, CConstString.ConnectName);

            return(outblks);
        }
コード例 #2
0
        private void SaveAuth()
        {
            if (listFormGrant.Count > 0 || listFormRevok.Count > 0)
            {
                DataSet inblk = new DataSet();
                inblk.Tables.Add();

                inblk.Tables[0].Columns.Add("groupid");
                inblk.Tables[0].Columns.Add("formaclid");
                inblk.Tables[0].Columns.Add("mode");
                inblk.Tables[0].Columns.Add("username");
                inblk.Tables[0].Columns.Add("appname");

                for (int i = 0; i < listFormGrant.Count; i++)
                {
                    inblk.Tables[0].Rows.Add(subjEname, listFormGrant[i], "insert", CConstString.UserId, CConstString.AppName);
                }
                for (int i = 0; i < listFormRevok.Count; i++)
                {
                    inblk.Tables[0].Rows.Add(subjEname, listFormRevok[i], "delete", CConstString.UserId, CConstString.AppName);
                }
                DbUserRes.UpdateFormAccess(inblk, CConstString.ConnectName);
            }


            if (listButtGrant.Count > 0 || listButtRevok.Count > 0)
            {
                DataSet inblk = new DataSet();
                inblk.Tables.Add();
                inblk.Tables[0].Columns.Add("groupid");
                inblk.Tables[0].Columns.Add("buttonid");
                inblk.Tables[0].Columns.Add("mode");
                for (int i = 0; i < listButtGrant.Count; i++)
                {
                    inblk.Tables[0].Rows.Add(subjEname, listButtGrant[i], "insert");
                }

                for (int i = 0; i < listButtRevok.Count; i++)
                {
                    inblk.Tables[0].Rows.Add(subjEname, listButtRevok[i], "delete");
                }

                DbUserRes.UpdateButtonAccess(inblk, CConstString.ConnectName);
            }


            //刷新结果

            RefreshFormList();


            listFormGrant.Clear();
            listFormRevok.Clear();
            listButtGrant.Clear();
            listButtRevok.Clear();
        }
コード例 #3
0
        private void QryAuthForm()
        {
            if (subjEname == string.Empty)
            {
                return;
            }
            DataSet inblks = new DataSet();

            inblks.Tables.Add();
            int mode = -1;

            //user mode
            if (subjType == SUBJTYPE.USER)
            {
                mode = 2;
            }
            else
            {
                mode = 1;
            }

            inblks.Tables[0].Columns.Add("name");
            inblks.Tables[0].Columns.Add("descript");
            inblks.Tables[0].Columns.Add("groupid");
            inblks.Tables[0].Columns.Add("mode");
            inblks.Tables[0].Columns.Add("appname");
            inblks.Tables[0].Rows.Add("", "", subjEname, mode, CConstString.AppName);

            DataTable outBlock = DbUserRes.QueryFormList(inblks, CConstString.ConnectName);

            string formName = "";
            string formDesc = "";
            string cnt      = "";

            for (int i = 0; i < outBlock.Rows.Count; i++)
            {
                formName = outBlock.Rows[i]["NAME"].ToString();
                formDesc = outBlock.Rows[i]["DESCRIPTION"].ToString();
                cnt      = outBlock.Rows[i]["CNT"].ToString();

                if (cnt == "0")
                {
                    TreeListNode tnode = this.treeListForm.AppendNode(new object[] { formDesc, formName }, null, CheckState.Unchecked);
                    tnode.Tag = outBlock.Rows[i]["ACLID"];
                    tnode.SelectImageIndex = tnode.ImageIndex = FORMICON;
                }
                else
                {
                    TreeListNode tnode = this.treeListForm.AppendNode(new object[] { formDesc, formName }, null, CheckState.Checked);
                    tnode.Tag = outBlock.Rows[i]["ACLID"];
                    tnode.SelectImageIndex = tnode.ImageIndex = FORMICON;
                }
            }
            treeListForm.FocusedNode = null;
        }
コード例 #4
0
        private void RefreshFormList()
        {
            nodeName.Clear();
            GetFormName(treeListForm.Nodes);

            int mode = -1;

            //user mode
            if (subjType == SUBJTYPE.USER)
            {
                mode = 2;
            }
            //group mode
            else
            {
                mode = 1;
            }

            layoutControlGroup4.Text = ((mode == 1 ?"群组[":"用户[") + subjDescript + "]可访问资源");

            DataSet inblks = new DataSet();

            inblks.Tables.Add();
            inblks.Tables[0].Columns.Add("id");
            inblks.Tables[0].Columns.Add("formname");
            inblks.Tables[0].Columns.Add("mode");
            inblks.Tables[0].Columns.Add("appname");

            for (int i = 0; i < nodeName.Count; i++)
            {
                inblks.Tables[0].Rows.Add(subjEname, nodeName[i], mode, CConstString.AppName);
            }
            DataTable outblks = DbUserRes.QueryFormAuth(inblks, CConstString.ConnectName);



            forminfo.Clear();
            auth.Clear();

            for (int j = 0; j < outblks.Rows.Count; j++)
            {
                string formname  = outblks.Rows[j]["formname"].ToString();;
                string formid    = outblks.Rows[j]["aclid"].ToString();
                string buttname  = outblks.Rows[j]["buttname"].ToString();
                string buttid    = outblks.Rows[j]["buttid"].ToString();
                string formcount = outblks.Rows[j]["formcount"].ToString();
                string buttcount = outblks.Rows[j]["buttcount"].ToString();

                if (!forminfo.ContainsKey(formid))
                {
                    forminfo.Add(formid, formcount);

                    if (!auth.ContainsKey(formid))
                    {
                        auth.Add(formid, new Dictionary <string, object>());
                    }
                }
                if (buttname.Trim().Length > 0 && !((Dictionary <string, object>)auth[formid]).ContainsKey(buttid))
                {
                    ((Dictionary <string, object>)auth[formid]).Add(buttid, buttcount);
                }
            }

            SetNodeCheck(treeListForm.Nodes);
        }