<authentication mode="Forms">
<forms name=".MyTuanGouCookie"  loginUrl="/admin/login.aspx" protection="All" timeout="60" path="/"></forms>
</authentication>
<location path="Admin">
<system.web>
<authorization>
<allow roles="Administrator"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="users/buyer">
<system.web>
<authorization>
<allow roles="buyer"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="users/saler">
<system.web>
<authorization>
<allow roles="saler"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
请问可否设置多个登录页面,当用户登录失败,或者登录超时后跳到不同的登录页面?
如:系统管理员跳转到admin/login.aspx
    买家用户跳转到  users/buyer/login.aspx
    卖家用户跳转到  users/saler/login.aspx

解决方案 »

  1.   

    可以,在搜索引擎中查找“Form认证 web.config设置”。
      

  2.   

    <configuration>
      <location path="login.aspx">
        <system.web>
          <authorization>
            <allow users="*"/>
          </authorization>
        </system.web>
      </location>
      <system.web>
        <authorization>
          <allow roles="Manager"/>
          <deny users="*"/>
        </authorization>
      </system.web>
    </configuration>string from = Request.QueryString["ReturnUrl"];
    string fromFilePath = from.Substring(from.IndexOf('/') + 1, from.IndexOf('/', from.IndexOf('/') + 1) - from.IndexOf('/')-1);
    switch (fromFilePath.ToLower())
    {
        case "admin": Response.Redirect("/admin/login.aspx"); break;
        case "user": Response.Redirect("/user/login.aspx"); break;
    }
    通过自定义角色实现页面跳转
     if (User.Identity.IsAuthenticated&&User.IsInRole("user"))
        {
            Response.Redirect("index.aspx");
        }
    参考