在学习网站开发中遇到两个基础问题,还请大侠们帮忙解答:
1.网站实现的是用户登录成功后方可在各个页面间跳转,但发现不经登录而直接在地址栏中输入相应要跳转的页面地址时均可到达各页面;
2.填写表单时在输入框的Cookie中,存在上次提交的数据且不断累加;
现在怎么配置页面查看的权限和Cookie的存储呀?

解决方案 »

  1.   

    1.
    登陆时,把庐用户的用户名存入session里面,然后在登陆后的每一个页面page_load里面判断,
    if(session["用户名"]==null)
    {
    Response.Write("<script>window.location.href='index.aspx'</script>");//返回登陆页面.
    }
    这样就可以防止在地址栏里面输入了...
    2.输入框也就是textbox,也就是会有先前的记录,这个容易解决,textbox有一个属性叫做:AutoCompleteType,把该属性设为:Disabled就看不到记录了.
    Cookie存储可以这样:
    HttpCookie cookieuser = new HttpCookie("username", txtuser.Text.Trim());
      

  2.   

    需要在每个页面检查是否已经登录,每个需要权限控制的页面都要检查!
    通常是将用户登录的信息存储到Sessions中,在功能页面检查权限是否存在。
      

  3.   

    嗯,比较清楚了,但在每个页面page_load里面都判断好像比较麻烦吧,不是有global.ascx吗,应该在那里面可以配置吧
      

  4.   

    还有就是输入框里不显示先前的记录,修改这个属性就可以了吗,但记录应该还是存在的吧,是在Cookie中吗,怎么补让它保存这些信息
      

  5.   

    1.登陆时将用户id,name等存入session或cookie
    然后在画面的Pageload里面判断session是否有值,没值就跳转到登陆画面2.
      

  6.   

    在web.config中配置<location>,<authorization>节
    <authorization>
           <deny users="?"/>
          <allow users="*"/>
        </authorization>
    <authentication mode="Forms">
         
          <forms   name=".ASPXAUTH"  loginUrl="Login.aspx" protection="All"    timeout="30"     path="/"     />
    </authentication>
    <location path="PassRecoveryPage.aspx">
    <system.web>
    <authorization>
    <allow users="*"/>
    </authorization>
    </system.web>
    </location>
      

  7.   

    弱弱地问一下,怎么将用户登录的信息存储到Session中?在哪里怎么写?
      

  8.   

    晕,登陆的时候,不是要查数据库吗?如果有就写到Session中,没有就不写,你不是让代码我也给你吧,太夸张了