关于web.config中验证身份登录控制问题????
我大概写了下,可达不到效果....<authentication mode="Forms">
            <forms name=".FormsAuthCookie" loginUrl="Admin/login.aspx" path="/" timeout="20" protection="All">
      </forms>
    </authentication>
    <authorization>
      <allow users="*"/>
    </authorization>
</system.web>
  <location path="Admin">
    <system.web>
      <authorization>
        <deny users="?"/>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
一网站需要管理员登录后台成功后方能进入后台管理页面进行操作,
根目录下的Admin文件夹中都是后台管理页面,后台管理首页为admin_index.aspx,登录页面为login.aspx
且需要达到当用户绕过(未登录)login.aspx直接进入其它后台页面时,自动跳转到login.aspx
该如何配置web.config ,详细点,希望哪位能给出正确的源码??.........(不好意思,分不是很多,后面可补上^_^)
顺便问一下,想要把用户登录成功后的信息存在Session或Cookie中如何弄.......

解决方案 »

  1.   

    <location path="Admin">
        <system.web>
          <authorization>
            <deny users="?"/>
            <allow users="*"/>
          </authorization>
        </system.web>
      </location>
    这部分好像得放在前头啊 
    "<location>节点的位置是在<configuration>的第一个子节点, 它与原有的<system.web>属于并列关系"
      

  2.   

    而且
    <deny users="?"/>
    <allow users="*"/>
    好像刚好写反了
      

  3.   

    不是写反了 是逻辑上就不对 把<allow users="*"/>去掉 单纯表示"拒绝匿名用户"
      

  4.   

    <location path="admin_index.aspx">
        <system.web>
          <authorization>
            <deny users="?"/>
          </authorization>
        </system.web>
      </location>
      

  5.   

    或者是
    <authentication mode="Forms">
                <forms name=".FormsAuthCookie" loginUrl="Admin/login.aspx" path="/" timeout="20" protection="All" DefaultUrl=“Login.aspx”>
          </forms>
        </authentication>
        <authorization>
          <allow users="*"/>
        </authorization>
      

  6.   

    <location path="admin_index.aspx"> 
    四楼,我要控制的是Admin这个文件夹的所有页面都需要登录后才能访问....path="admin_index.aspx"是什么意思?
      

  7.   

    又出现一问题,当直接(未登录)访问其它页面,自动跳转到Login页面时,Login页面的图片都无法显示,(直接访问Login页面正常,图片路径没错)
      

  8.   

    是访问该admin_index.aspx页面时要验证
      

  9.   

    <authentication mode="Forms">
            <forms loginUrl="Admin/login.aspx" defaultUrl="Login.aspx"></forms>
          </authentication>
          <authorization>
            <allow users="*"/>
          </authorization>
    这样子呢?不行吗?
      

  10.   

    是Admin这个文件夹下的所有页面都需要登录验证后才能访
    ,前面的方法我都试过了,都不行的.谢谢
    ,继续等待大家回复,一边也自己看看能不能解决
      

  11.   

    你自己的那个配置文件写的就是对的。一点问题都没有啊
    可能是你登录验证用户的时候忘记给客户端发送票据了(就是cookie)//向客户端发送cookie   这句一定要有
    System.Web.Security.FormsAuthentication.SetAuthCookie(this.TextBox1.Text,true);
    //页面转向!
    Response.Redirect("~/admin/default.aspx");
    //如果要移除cookie  比如你的页面上登录进去有个叫安全退出的按钮,那么代码就是
    //System.Web.Security.FormsAuthentication.SignOut();
      

  12.   

    你的图片不对  是因为你在config里有配置   并且应该这些图片是在admin文件夹里的  如果在admin文件夹外,应该没有问题!
    <authentication mode="Forms"> 
            <forms loginUrl="Admin/login.aspx" defaultUrl="Login.aspx"> 
    </forms>所以应该在<system.web>的外边  再写一些配置<!--注意这里的PATH如果是绝对路径 千万不要写 ~/  否则配置无效-->
    <location path="admin/img"> 
       <system.web>
         <authorization> 
            <allow users="*"/> 
          </authorization> 
       </system.web>
    </location>
    <!---这样配置以后 你的图片文件夹   匿名用户也就可以访问了   否则在login页面里的图片就会有问题-->