网站后台权限我是作为一个用“|”分隔的字符串存储的,像“搜索|管理|”,在判断权限时我用的String.IndexOf()方法来判断的,现在有个问题,我在本机测试没出过问题,可是在网站上,大约每百次操作都会出现没有权限的情况,这种情况谁见过啊,谢谢指教啊

解决方案 »

  1.   

    权限有角色控制。
    用string[] s=str.split('|');分割控制
      

  2.   

    把权限拆分为数组,和String.IndexOf()不是一样的吗
      

  3.   

    不会的啊,当session没了我设置页面就关闭了,不会再说没有权限了啊
      

  4.   

    然后再转成ArrayList 或HashTable
      

  5.   

    楼上的方法可行,用Split('|')进行分割
    得到的数组下标为1的就是管理
      

  6.   

    http://blog.csdn.net/greatverve/archive/2008/11/06/3238396.aspx
    这是我曾经用过的判断。
    split('|')是分解成数组。
    indexof(".")是找到位置。给个应用:
    http://blog.csdn.net/greatverve/archive/2008/11/07/3247544.aspx
      

  7.   

    [code=C#]  /// <summary>
            /// 检查管理员是否已登陆
            /// 如果还没有登陆,提示
            /// 如果没有权限,给出提示
            /// </summary>
            /// <param name="str">权限名称</param>
            public void AdminCheckLogin(string str)
            {
                DataTable dt = new DataTable();
                if (Session[adminName"] == null)
                {
                    ShowInfo("请登录!", "", 3);//ShowInfo是个方法
                }
                else
                {
                    string quanxian = AdminQuanxian();//AdminQuanxian是读取权限的方法
                    if (quanxian.IndexOf(str) == -1)
                    {
                        ShowInfo("您没有权限操作此页面哦", "", 4);
                    }
                }
            }
             code]
      

  8.   

    indexof('.')返回的是第一个匹配字符的位置,返回值是整型
      

  9.   


           /// <summary> 
           /// 检查管理员是否已登陆 
            /// 如果还没有登陆,提示 
            /// 如果没有权限,给出提示 
            /// </summary> 
           /// <param name="str">权限名称 </param> 
            public void AdminCheckLogin(string str) 
            { 
                DataTable dt = new DataTable(); 
                if (Session[adminName"] == null) 
                { 
                    ShowInfo("请登录!", "", 3);//ShowInfo是个方法 
                } 
                else 
                { 
                    string quanxian = AdminQuanxian();//AdminQuanxian是读取权限的方法 
                    if (quanxian.IndexOf(str) == -1) 
                    { 
                        ShowInfo("您没有权限操作此页面哦", "", 4); 
                    } 
                } 
            } 
      

  10.   

    搜索|管理|
    像这种东西,还是用string.split('|');分成数组好!然后循环数组元素看是否存在, 不存在则   
    ShowInfo("您没有权限操作此页面哦", "", 4);