我现在的权限表是这样的用户名  相应页面的权限代码  页面URL 
 admin    001001           admin/add.aspx
 admin    001002           test/add.aspx请问如何在基类中进行权限判断!谢谢

解决方案 »

  1.   

    写一个方法: protected void AllowAccessThisPage()
            {
                try
                {
                    objSecurity.IsAuthorization(CurrentUserId, "admin/add.aspx"); //或是"test/add.aspx"
                }
                catch (Exception ex)
                {
                   //alert(ex.message);
                }
            }
    然后把这个方法拉到Page_Load(...)
    {
    AllowAccessThisPage();
    }
    现在,我们看看
    IsAuthorization()方法: private bool IsAuthorization(string strManagerId, string strPermissionName)
            {
                string strPId = objPermission.GetPkByPermission(strPermissionName);  //以当前浏览的网页名至Permission表中找出对应的Pk
                strSql = "SELECT * FROM [ManagerRole] MR INNER JOIN [RolePermission] RP ON MR.[RoleId] = RP.[RoleId] WHERE MR.[IsEnable] = 1 AND RP.[IsEnable] = 1 AND MR.[ManagerId] = " + strManagerId + " AND RP.[PermissionId] = " + strPId;
                return ExecuteDataReader(strSql).HasRows; //这里可以看到当前用户是否在权限浏当前网页
            }最主要的,Insus.NET已经帖出来,你参考一下,如果还是实现不了,只有慢慢讨论了.
      

  2.   

    能否说的详细点啊,我现在的思路是提交时获取 URL 字符串 然后和session的权限数组 进行比较!
    还是请高手说说把 
      

  3.   

    另外,你在权限设置,应该有五张表:
    user表(userId...),
    Role(RoleId,...)表,
    UserRole(UserId,RoleId,...)表,
    Permission(PermissionId,...)表,
    另外一个就是
    PermissionRole表(PsermissionId,RoleId,...)表
      

  4.   

    user(userId...)表, 
    Role(RoleId,...)表, 
    UserRole(UserId,RoleId,...)表, 
    Permission(PermissionId,...)表, 
    PermissionRole(PsermissionId,RoleId,...)表把你的每个页都在Permission里面注册了这样就可以根据PermissionRole(PsermissionId,RoleId,...)表来进行权限判断了