none
Forms验证模式问题 RRS feed

  • 问题

  • 根目录配置文件写了:
    <authentication mode="Forms">
        <forms name=".MANAGER" path="\manager\" defaultUrl="/manager/default.aspx" loginUrl="/manager/login.aspx" timeout="60"></forms>
    </authentication>
    <authorization>
        <allow users="*"/>
    </authorization>

    /manager/目录配置文件写了:
    <authorization>
        <deny users="?"/>
    </authorization>


    登录:
    FormsAuthentication.RedirectFromLoginPage(u.Login, false);

    登录成功后不会进入/manager/目录,依然进入根目录,而且在登录成功的情况下直接进/manager/照样跳到根目录。
    怎么样才能进到登录后进入/manager/目录?
    请赐教!
    2009年7月28日 4:27

答案

  • 楼主,你好

    你参考下我下面的配置试试。
    根目录配置:

    <authentication mode="Forms">
          <forms loginUrl="LoginDemo.aspx" defaultUrl="~/GridViewDemos/cvzv.aspx">
            
          </forms>
        <authorization>
         
          <allow users="*"/>
        </authorization>
    另外根目录下另一目录内的配置文件:
    <authorization>
            <deny users="?"/>      
          </authorization>

    不用写任何代码就可以完成你说的功能。没有发现你说的情况。
    Microsoft Online Community Support
    • 已标记为答案 李言阁 2009年7月29日 7:43
    • 取消答案标记 李言阁 2009年7月29日 7:45
    • 已标记为答案 李言阁 2009年7月29日 7:59
    2009年7月29日 6:55

全部回复

  • <configuration>
       <location path="manager/login.aspx">
          <system.web>
             <authorization>
                <allow users="?"/>
             </authorization>
          </system.web>
       </location>
    </configuration>
    你直接Response.Redirect("~/manager/default.aspx")可以吗?

    另外。直接写
     defaultUrl="manager/default.aspx" path="/manager"

    如果你带虚拟目录,则/是站点的路径

    【孟子E章】
    2009年7月28日 4:41
    版主
  • 我没有创建虚拟目录,你说的办法我都试了,不行啊;

    你没明白我的意思,现在的问题是登录后无法进入/manager/,不登陆的情况下进入/manager/能够正确的跳到http://localhost/manager/login.aspx?ReturnUrl=%2fmanager%2fDefault.aspx,登录成功后再进入http://localhost/manager/就莫名其妙的跳到http://localhost。
    2009年7月29日 2:22
  • 楼主,你好

    你参考下我下面的配置试试。
    根目录配置:

    <authentication mode="Forms">
          <forms loginUrl="LoginDemo.aspx" defaultUrl="~/GridViewDemos/cvzv.aspx">
            
          </forms>
        <authorization>
         
          <allow users="*"/>
        </authorization>
    另外根目录下另一目录内的配置文件:
    <authorization>
            <deny users="?"/>      
          </authorization>

    不用写任何代码就可以完成你说的功能。没有发现你说的情况。
    Microsoft Online Community Support
    • 已标记为答案 李言阁 2009年7月29日 7:43
    • 取消答案标记 李言阁 2009年7月29日 7:45
    • 已标记为答案 李言阁 2009年7月29日 7:59
    2009年7月29日 6:55