none
Dados inválidos RRS feed

  • Pergunta

  • No código abaixo debugando o retorno é igual ao TextBox2_senha.Text , mas está retornando com "Dados inválidos.". Alguém orienta algo?


    Código no WebForm1_login.aspx.vb:

    Protected Sub Button1_entrar_Click(sender As Object, e As EventArgs) Handles Button1_entrar.Click
            Dim u As ClassModel1_usuario = New ClassModel1_usuario()
            Dim retorno As String = u.VerificaSenha(TextBox1_usuario.Text)
            If retorno = TextBox2_senha.Text Then
                Label1_Erro_login.Text = "Acesso Válido"
                FormsAuthentication.RedirectFromLoginPage(TextBox1_usuario.Text, True)
                Response.Redirect("WebForm1_menu.aspx")
            End If
            Label1_Erro_login.Text = "Dados inválidos."
    End Sub

    Abaixo um trecho código WebConfig:

    <authentication mode="Forms">
          <forms name="ckLog" loginUrl="index.aspx" defaultUrl="WebForm1_menu.aspx" timeout="30" path="/" />
        </authentication>
        <siteMap enabled="true">
          <providers>
            <clear/>
            <add siteMapFile="Web.sitemap" name="AspNetXmlSiteMapProvider" type="System.Web.XmlSiteMapProvider" securityTrimmingEnabled="true"/>
          </providers>
        </siteMap>
      </system.web>
     
      <location path="index.aspx">
        <system.web>
          <authorization>
            <allow roles="index.aspx"/>
            <deny users="*" />
          </authorization>
        </system.web>
      </location>
      <location path="WebForm1_cad.aspx">
        <system.web>
          <authorization>
            <deny users="?" />
          </authorization>
        </system.web>
      </location>
      <location path="WebForm1_cad_pf.aspx">
        <system.web>
          <authorization>
            <deny users="?" />
          </authorization>
        </system.web>
      </location>
    </configuration>

    Trecho do código no WebForm1_menu.aspx:

    <body>
        <form id="form1" runat="server" style="text-align: center;">
        <div>
            <br />
            <br />
            <br />
            <br />
        SUCESSO!!!!!!!!!!!!!!!!!!!!!!!!!!
            <br />
            <br />
            <br />
            <asp:Menu ID="Menu1" runat="server" ShowStartingNode="fase" Orientation="Horizontal" DataSourceID="SiteMapDataSource1"></asp:Menu>
            <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
        </div>
        </form>
    </body>

    Código no WebSiteMap:

    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
        <siteMapNode roles="*">
            <siteMapNode url="index.aspx" title="HOME"  description="" />
            <siteMapNode url="WebForm1_cad_PJ.aspx" title="Cadastro PJ"  description="" />
            <siteMapNode url="WebForm1_cad_pf.aspx" title="Cadastro PF"  description="" />
        </siteMapNode>
    </siteMap>

    sexta-feira, 10 de maio de 2013 14:35

Respostas

  • Diego obrigado pelo retorno,

    veja no Debug o resultado da linha "retorno = TextBox2_senha.Text"

    retorno: "SDSI   "

    TextBox2_senha.Text: "SDSI"

    então, eu inclui no banco mais seis digitos, pois é um Nchar(10) e funcionou.

    Correto Wilson,

    Me passou desapercebido a questão que em caso de sucesso, mesmo a Label sendo alterada a página é redirecionada e não é exibida para o usuário.

    Mas debugando, você conseguiu perceber, que sem o true no Redirect, ele está seguindo o fluxo e passando pela alteração da label, correto?

    Se o problema for os espaços no final, você pode tratar com um .Trim() também.

    Abraços.

    • Marcado como Resposta Wilson Boris sexta-feira, 10 de maio de 2013 21:31
    sexta-feira, 10 de maio de 2013 21:30

Todas as Respostas

  • Olá, há muito tempo não trabalho com vb.net, porém me parece que seu erro é devido o código abaixo não estar no else.

    Label1_Erro_login.Text = "Dados inválidos."

    Dessa forma, ele passará pelo redirect, continuará o fluxo e passará por essa linha de código que sempre setará o valor "Dados inválidos." para o Label.

    Tem um parâmetro boleano no redirect (endResponse) que força a finalização do fluxo, devolvendo a resposta para o usuário sem concluir o ciclo de vida da página:

    Response.Redirect("WebForm1_menu.aspx", true)

    Porém, mesmo assim eu colocaria esse comando que seta o "Dados inválidos." no Else, até para evitar confusão futura.

    Abraços.

    sexta-feira, 10 de maio de 2013 20:14
  • Diego obrigado pelo retorno,

    veja no Debug o resultado da linha "retorno = TextBox2_senha.Text"

    retorno: "SDSI   "

    TextBox2_senha.Text: "SDSI"

    então, eu inclui no banco mais seis digitos, pois é um Nchar(10) e funcionou.

    sexta-feira, 10 de maio de 2013 21:23
  • Diego obrigado pelo retorno,

    veja no Debug o resultado da linha "retorno = TextBox2_senha.Text"

    retorno: "SDSI   "

    TextBox2_senha.Text: "SDSI"

    então, eu inclui no banco mais seis digitos, pois é um Nchar(10) e funcionou.

    Correto Wilson,

    Me passou desapercebido a questão que em caso de sucesso, mesmo a Label sendo alterada a página é redirecionada e não é exibida para o usuário.

    Mas debugando, você conseguiu perceber, que sem o true no Redirect, ele está seguindo o fluxo e passando pela alteração da label, correto?

    Se o problema for os espaços no final, você pode tratar com um .Trim() também.

    Abraços.

    • Marcado como Resposta Wilson Boris sexta-feira, 10 de maio de 2013 21:31
    sexta-feira, 10 de maio de 2013 21:30