我用C#.NET为客户写了个Web应用程序,用户有多个部门,用各自的用户名和密码登录.但是发现一个问题,如果在地址栏直接敲入某个页面地址,IE就将给页面打开了,用户名和密码形同虚设,如何解决?谢谢!

解决方案 »

  1.   

    所有页面继承一个基础类
    xx:System.Web.UI.Page
    {
    然后在构造函数里面处理
    }
      

  2.   

    在web.config中设置 一个session变量 session["username"] 默认为空
    当用户登陆成功时设置 sesson["username"]=用户名
    然后在每个需要验证身份的窗体pageload事件中检测 session 
    if(session["username"]==null||session["username"]=="")
    {
     this.response.redirect("./登陆窗体");
    this.response.return;
    }
    我就是这样做的不知道有没有什么弊端,反正可以实现那个功能
      

  3.   

    用.net就用.net的特性..网站一般可以使用form验证
      

  4.   

    设置WEB.CONFIG 为任何人登陆都需要登陆
      

  5.   

    在每頁的pageload中都加入一個判断語句
      

  6.   

    在web.config里加上form认证。
    设置WEB.CONFIG 为任何人登陆都需要登陆这两种方法才是正解
      

  7.   

    我用了zbl131()的方法:
    在web.config中设置 一个session变量 session["username"] 默认为空
    当用户登陆成功时设置 sesson["username"]=用户名
    然后在每个需要验证身份的窗体pageload事件中检测 session 
    if(session["username"]==null||session["username"]=="")
    {
     this.response.redirect("./登陆窗体");
    this.response.return;
    }
    我就是这样做的不知道有没有什么弊端,反正可以实现那个功能
    成功地解决了问题。
    我非常幸运,在此要感谢大家,特别是zbl131()。再次谢谢!
      

  8.   

    使用form验证最快达到效果,不然可以继承,或每页加判断
      

  9.   

    我是每页加判断,方法笨一些,但是可靠.请问楼上这位,如何使用form验证?