如果菜单是根据用户权限生成的,如何防止用户从地址栏输入跳入不该进入的页面?每一个页面都和权限做对比?太麻烦啊,有什么别的方法没?

解决方案 »

  1.   

    你说的 就是放sql注入
    可以向楼上说的 加个权限判断
      

  2.   

    继承页面或者写成函数每个页面load事件调用
      

  3.   

    起始Forms身份验证就可以实现的
      

  4.   

    新建一个web页面,类名随便,例如 PageBase(PageBase.aspx)

     /// <summary>
            /// Page_PreInit事件,        /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            protected void Page_PreInit(object sender, EventArgs e)
            {
                //这里添加权限判断代码,当然,不同的验证方式(forms、windows、none等)代码可能不一样,看你怎么去写了
                        }然后,其他web页面继承这个PageBase类
      

  5.   

    可以在web.config中配置
    也可以在Page_Load中
    if(!User.IsUserInRole("admin"))
    {
    //不是管理员,不应该访问此页,所以
    Response.End();
    }
      

  6.   

    使用Form认证参考