none
asp.net 成员资格 登录跳转问题 RRS feed

  • 问题

  • 问题描述:
    用户验证通过后,使用FormsAuthentication.RedirectFromLoginPage(UserNameText.Text,false);跳转到登录前的页面时,不管登录前是什么页面,通过验证后仍然跳转到登录页面,有关代码如下,希望各位高手帮忙分析一下,看看问题出在哪里,非常感谢!
    验证代码如下:

    if(Membership.ValidateUse(UserNameText.Text,PasswordText.Text))
    {
        FormsAuthentication.RedirectFromLoginPage(UserNameText.Text,false);
    }
    else
    {
        Response.Write("<script>alert('用户名或密错误');</script>");
    }
    web.config配置如下:
            <authorization >
                <deny users="?"/>
                <allow users="*"/>
            </authorization>
            <membership defaultProvider="ShowimgMembershipProvider" >
                <providers>
                    <add name="ShowimgMembershipProvider"
                         type="System.Web.Security.SqlMembershipProvider"
                         passwordFormat ="Hashed" connectionStringName="MyDataConnstring"
                         applicationName="showimg" enablePasswordRetrieval="false"
                         enablePasswordReset="true" requiresQuestionAndAnswer="true"
                         requiresUniqueEmail="true" />
                    
                </providers>
            </membership>
            <authentication mode="Forms">
                <forms name="showimg" loginUrl="DbLogin.aspx"
                       timeout="20" slidingExpiration="true"
                       cookieless="AutoDetect" protection="All"
                       requireSSL="false" enableCrossAppRedirects="false"
                       defaultUrl="index.aspx" domain="http://xianglf-ecdeb62:80"
                       path="/"></forms>
            </authentication>
    2009年12月4日 12:26

答案

  • domain="http://xianglf-ecdeb62:80" 这句字符串造成的  非法字符串  正确应该写 比如Microsoft.com
    2009年12月4日 14:27
  • domain="http://xianglf-ecdeb62:80" 这句字符串造成的  非法字符串  正确应该写 比如Microsoft.com

    谢谢你的指正,我对domain的理解有误,我在配置文件中把这句删除了,现在程序能正常验证登录了。
    但是使用  
    FormsAuthentication.SignOut();
    FormsAuthentication.RedirectToLoginPage();
    这两句退出系统后,按浏览器的后退键依然可以返回到系统中,能看到需要登录才能看到的页面,请问怎样解决这个问题?
    另我想请教一下在本机IIS上调试的时候,domain 应该怎么写,网站名称show,在IIS中以虚拟目录存在的
    我曾改domain=“http://localhost/show”、domain=http://localhost" 都不行,登录验证通过后依然跳到登录页面。
    本地一般不设置!
    2009年12月5日 7:48

全部回复

  • domain="http://xianglf-ecdeb62:80" 这句字符串造成的  非法字符串  正确应该写 比如Microsoft.com
    2009年12月4日 14:27
  • domain="http://xianglf-ecdeb62:80" 这句字符串造成的  非法字符串  正确应该写 比如Microsoft.com

    谢谢你的指正,我对domain的理解有误,我在配置文件中把这句删除了,现在程序能正常验证登录了。
    但是使用  
    FormsAuthentication.SignOut();
    FormsAuthentication.RedirectToLoginPage();
    这两句退出系统后,按浏览器的后退键依然可以返回到系统中,能看到需要登录才能看到的页面,请问怎样解决这个问题?
    另我想请教一下在本机IIS上调试的时候,domain 应该怎么写,网站名称show,在IIS中以虚拟目录存在的
    我曾改domain=“http://localhost/show”、domain=http://localhost" 都不行,登录验证通过后依然跳到登录页面。
    2009年12月5日 3:17
  • domain="http://xianglf-ecdeb62:80" 这句字符串造成的  非法字符串  正确应该写 比如Microsoft.com

    谢谢你的指正,我对domain的理解有误,我在配置文件中把这句删除了,现在程序能正常验证登录了。
    但是使用  
    FormsAuthentication.SignOut();
    FormsAuthentication.RedirectToLoginPage();
    这两句退出系统后,按浏览器的后退键依然可以返回到系统中,能看到需要登录才能看到的页面,请问怎样解决这个问题?
    另我想请教一下在本机IIS上调试的时候,domain 应该怎么写,网站名称show,在IIS中以虚拟目录存在的
    我曾改domain=“http://localhost/show”、domain=http://localhost" 都不行,登录验证通过后依然跳到登录页面。
    本地一般不设置!
    2009年12月5日 7:48