Validación de usuario

Publicado por Daniel Larin
hace 9 años

<p>Hola buenas, tengo un problema que espero que me ayuden...</p><p>He creado una validación en la capa BL en AdminBL un método (ValidarAcceso). Si pongo nick o contraseña incorrecta me niega el acceso aún si pongo contraseña en mayusculas, el problema es que si pongo el Nick en mayúsculas me da el acceso y no debe ser así mi método lo hice con una expresión lambda:</p><pre>public bool ValidarAcceso(Administrador pAdmin)<br />{<br />   var usuario = BDComun.Contexto.Administradors.SingleOrDefault(u => u.Nick == pAdmin.Nick);<br />   if (usuario == null) return false;<br />   return usuario.Pass == pAdmin.Pass;<br />}</pre><p></p><p></p><p></p><p>Y si luego pongo: return usuario.Nick == pAdmin.Nick me aparece una advertencia y no me lo lee. Espero que me ayuden, gracias. </p>

c# entity framework
Respuesta de Cristian Olaz
hace 9 años

<p>A simple vista supongo que el problema está en tu base de datos, al buscar el registro en base al <span style="font-weight:bold;">nick</span> no lo hace con <span style="font-weight:bold;">"key sensitive"</span>. De ser así, una opción sería establecer el campo del nick a <span style="font-style:italic;">SQL_Latin1_General_CP1_CI_AS</span></p><pre class="prettyprint prettyprinted"><span class="pln">ALTER TABLE </span><span class="str"><tabla></span><span class="pln"> ALTER COLUMN </span><span class="typ">Nick</span><span class="pln"> </span><span class="str"><opciones></span><span class="pln"> COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL</span></pre><p>Espero te sea de utilidad.</p><p>Un saludo.</p>