<authentication mode="Forms"> 
      <forms name="HonFuTongAuth" loginUrl="login.aspx" timeout="30" protection="All" path="/">
</forms> 
</authentication>
  使用FormsAuthtication后.如果用户未登陆,访问受保护页面,将会跳转到loginUrl属性指定的页面!
并且子目录也会继承该特性!
  现在有一子目录Admin,因为管理员登陆页面和普通用户登陆页面不同.所以,想当Admin目录下的受保护页面被访问的时候.跳转到Admin目录下的Login.aspx而非 根目录下的 Login.aspx页!
  
  小弟使用此种方式做项目,卡在这了.请有经验的大虾帮帮忙,感激!

解决方案 »

  1.   

    帮LZ up+ing................
     学习ing..................
      

  2.   

    admin目录下新建一web.config文件;内容
    <authentication mode="Forms"> 
          <forms name="HonFuTongAuth" loginUrl="/admin/login.aspx" timeout="30" protection="All" path="/">
    </forms> 
    </authentication>
    看看还行!
      

  3.   

    感谢2楼的朋友,帮我顶!
    回楼上的!
    这样的方法,我已试过了!
    这样写了后,它要我将Admin目录创建为虚拟目录!并且需要把根目录的Bin下的dll拷到 Admin/Bin下!
    这样做后,它还是说缺文件,我认为这样做欠妥!
    请高手指点啊!
    小弟卡在这里下不去了!感激感激!
      

  4.   

    登陆页面不能改,但是你可以手动验证用户,然后根据用户类型把用户引导到不同的页面
    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
                    1,
                    userDataSet.Users[0].LoginName,
                    System.DateTime.Now,
                    System.DateTime.Now.AddMinutes(30),
                    false,userDataSet.Users[0].ContactPerson);HttpCookie cookie = new HttpCookie(".ASPXAUTH");
    cookie.Value = FormsAuthentication.Encrypt(ticket);
    Response.Cookies.Add(cookie);同时使用角色对用户权限进行管理。form验证对此有支持
      

  5.   

    <location path="admin/login.aspx">
    <system.web>
    <authorization>
    <allow users="?"/>
    </authorization>
    </system.web>
    </location>
      

  6.   

    在web。config增加上面的部分
    有几个文件增加几个
      

  7.   

    哎...没办法只有变相解决了!
    默认跳转登陆不是根目录的login.aspx.我在login.aspx里写了判断,当Request.Url.ToString().IndexOf("/Admin/");
    当发现用户请求的是这个目录的时候,就手动跳转到 Admin/Login.aspx
    感谢楼上几位朋友的热情帮忙!