コード例 #1
0
    public bool canEdit(string right, GMUser user)
    {
        if (user.m_type == "admin")
        {
            return(true);
        }

        if (!m_rs.ContainsKey(user.m_type))
        {
            return(false);
        }

        RightSet rs = m_rs[user.m_type];

        return(rs.canEdit(right));
    }
コード例 #2
0
    // 读取权限集
    public void readRightSet()
    {
        m_rs.Clear();
        List <Dictionary <string, object> > dataList =
            DBMgr.getInstance().executeQuery(TableName.GM_TYPE, 0, DbName.DB_ACCOUNT, null, 0, 0, null, "genTime");

        if (dataList == null || dataList.Count == 0)
        {
            return;
        }

        for (int i = 0; i < dataList.Count; i++)
        {
            Dictionary <string, object> data = dataList[i];
            RightSet rs     = new RightSet();
            string   typeId = "";
            DateTime time   = DateTime.Now;

            foreach (var d in data)
            {
                if (d.Key == "_id")
                {
                    continue;
                }
                else if (d.Key == "id")
                {
                    typeId = Convert.ToString(d.Value);
                }
                else if (d.Key == "typeName")
                {
                    rs.m_gmTypeName = Convert.ToString(d.Value);
                }
                else if (d.Key == "genTime")
                {
                    time = Convert.ToDateTime(d.Value).ToLocalTime();
                }
                else
                {
                    rs.addRightByStr(d.Key, Convert.ToString(d.Value));
                }
            }
            rs.setTime(time);
            m_rs.Add(typeId, rs);
        }
    }
コード例 #3
0
    public RightResCode hasRight(string right, HttpSessionState session, string className = "")
    {
        if (session["user"] == null)
        {
            return(RightResCode.right_not_login);
        }

        if (right == "")
        {
            return(RightResCode.right_success);
        }

        GMUser user = (GMUser)session["user"];

        if (!user.isSwitchDbServer)
        {
            return(RightResCode.right_need_switch);
        }

        if (user.m_type == "admin")
        {
            return(RightResCode.right_success);
        }

        if (!m_rs.ContainsKey(user.m_type))
        {
            return(RightResCode.right_no_right);
        }

        RightSet rs = m_rs[user.m_type];

        if (!rs.canView(right))
        {
            return(RightResCode.right_no_right);
        }

        return(RightResCode.right_success);
    }
コード例 #4
0
    public OpRes modifyGmTypeRight(string gmType, string fun, string right)
    {
        Dictionary <string, object> data = new Dictionary <string, object>();

        data.Add(fun, right);
        bool res = DBMgr.getInstance().update(TableName.GM_TYPE, data, "id", gmType, 0, DbName.DB_ACCOUNT);

        if (res)
        {
            RightSet rst = null;
            if (m_rs.ContainsKey(gmType))
            {
                rst = m_rs[gmType];
            }
            else
            {
                rst = new RightSet();
                m_rs.Add(gmType, rst);
            }
            rst.addRightByStr(fun, right);
        }
        return(res ? OpRes.opres_success : OpRes.op_res_failed);
    }