建立个关系表。ID 主键FolderID  目录IDUserTypeID  用户类别ID这样去关联,多对多,如果还有用户对目录再分具体操作权限的话,再加一个操作字段就可以了。

解决方案 »

  1.   

    根据权限case定向到不同的文件夹下面
      

  2.   

    to: jadid(摩洛哥射手)
    那么如何防止用户直接输入地址查看其他页面呢?
    我的意思是把属于不同用户的页面放在不同的目录中,不知道怎么做就想了这么个办法:)===========================================
    在每个页面的page_load事件中判断当前用户的权限,权限直接从数据表中取出
      

  3.   

    正如楼上所说:在每个页面的page_load事件中判断当前用户的权限
    比如当前用户是a,他在地址栏输入了bb or cc目录的的页面名称,判断当前用户的权限,他是a用户,权限不对,重定向到aa目录的里的默认页面就可以实现了。
      

  4.   

    在web.config中使用form认证,这样如果用户直接输入地址的话会定向到登录页面;当用户登录后你可以在每个页面的page_load事件中判断一下用户的类型从而可以确定能否访问本页面。<configuration>
      <system.web>
        <globalization requestEncoding="gb2312" responseEncoding="gb2312" />
        <authentication mode="Forms">
    <forms name=".gms" 
    path="/"
    loginUrl="/gms/usrlogin.aspx"
    protection="All"
    timeout="30">
    </forms>
        </authentication>
        <authorization>
    <deny users="?"/>
        </authorization>

      </system.web>
    </configuration>在登录的提交按钮单击事件中:
    void login(Object Src, EventArgs E)
    {
             bool isAuthenticated = false;
             读取数据库,验证是否为合法用户。如果是设置isAuthenticated=true;
             if (isAuthenticated) {
                      //通过认证,将userId.Text保存,以便在以后页面中
                      //判断用户类型,同时返回到开始请求页面。
    FormsAuthentication.RedirectFromLoginPage(userId.Text,false);
    }
    else {
    loginMessage.Text = errMsg;
    }
    }在page_load中用User.Identity.Name获得刚才保存的登录用户名。