Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dagma Collela

Autenticação Web.config

Recommended Posts

Galera, eu estou trabalhando com sistema de login e eu estava validando meu usuário, por cookies, e controlava esses cookies na "mão".,

Só que me falaram que era melhor e aconselhável e mais seguro utilizar o modo de autenticação do asp.net. que trata de forma alto matica, e andei pesquisando muito e muito, mais não compreendi como funciona.

Mais ta essa ai minha duvida do modo geral, agora vou deixar mais clara.

 

Eu uso C# e meu banco de dados é o MYSQL, eu configurei meu web.config, acredito que esteja correto pois muitos post que vi, estava da mesma logica.

 <connectionStrings>
    <add name="stringConexao" connectionString="Server=localhost;Database=santateresa;Uid=     root;Pwd=;Connect Timeout=30;" providerName="MySql.Data.MySqlClient"/>
    </connectionStrings>
     <location path="Seguranca" />
      <system.web>
    <authorization>
      <deny users="?"/>
    </authorization>

  <authentication mode="Forms">
      <forms name="SecureWeb" protection="All" timeout="600" loginUrl="Default.aspx" path="/" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>

Agora que vem problema, já pesquisei de varias formas como, validar a traves do meu banco de dados se o usuário existe ou não.. vou postar o código que fiz

 

 

try
  {
         string sql = "SELECT alunos_codAluno, login FROM loginaluno WHERE
         login=@Usuario AND senha=@Senha";
         cmd.CommandText = sql;
         cmd.Parameters.Clear();
         cmd.Parameters.Add(new MySqlParameter("Usuario", tbLogin.Text));
         cmd.Parameters.Add(new MySqlParameter("Senha", tbSenha.Text));
         reader = cmd.ExecuteReader();
         bool countss = false;
                
                if (reader.Read())
                {
                    aluno_codAluno = reader["alunos_codAluno"].ToString();
                    Session.Add("IsLogado", false);
                    this.Session["UsuarioId"] = aluno_codAluno;
                    countss = true;
                }
                if (countss)
                 { 
                     HttpCookie cookie = new HttpCookie("semafaro");
                     cookie.Value = "verde";
                     TimeSpan somarTempo = new TimeSpan(0, 1, 0, 0);
                     cookie.Expires = DateTime.Now + somarTempo;
                     Response.Cookies.Add(cookie);




                     Session.Add("IsLogado", true);
                     Response.Redirect("Seguranca/autorizado.aspx");

  System.Web.Security.FormsAuthentication.RedirectFromLoginPage(Dsusuario.USUARIOS[0].DS_PERMISSAO,false);


                     ClientScript.RegisterStartupScript(this.GetType(), "Aviso", "alert('Bem vindo!');", true);
                 }
                 else
                 {
                     ClientScript.RegisterStartupScript(this.GetType(), "Consulta", "alert('Nao Foi Possveil Efetuar Login.);", true);
                 }
                 
                con.Close();
            }
            catch (Exception ex)
            {


                ClientScript.RegisterStartupScript(this.GetType(), "Conexão", "alert('Nao Foi Possveil Efetuar Login, Verifique Senha e Login!');" + ex, true);
            }

Oque esta em verde, e os cookies que esta validando na "mão" em azul e um teste que eu estava fazendo com session tbm funfo, em vermelho, foi que vi num blog, ai mais nao tinha nada que poude-se retirar minha duvida, em fim, nao sei como validar isso pelo proprio asp.net.

 

Alguém ai me ajuda com isso?, Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, vou falar a verdade pra você. Validação por cookie realmente não rola.

 

O ideal seria um form via POST que validasse o usuário através de um post para a mesma página. Existem outros meios, por exemplo, validação por token e também por email... Porém o web.config é muito sensível e pode dar muitos erros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo, só que tem um pequeno problema, por exemplo, eu tenho que gerar a senha para os clientes. e um determinado grupo exclusivo, não terá como outras pessoas fora desse grupo logar, ou criar conta... então acho que ha validação por e-mail, não seria o caso, POST, vou ver como funciona e se de alguma forma serve... token mesma coisa tenho que estudar.. Mas pra deixar mais claro.. e tipo colégio, onde somente os alunos terão acesso, a parte restrita. como para ver notas, comunicados. entende.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso não tem muita diferença. Uma vez que você tem uma tela de login somente aqueles que tiverem usuários cadastrados vão poder logar. A validação por form POST é o mais simples de se fazer, validação via token exige que você reconheça o IP da máquina do usuário ou coisa parecida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.