Foros del Web » Programación para mayores de 30 ;) » .NET »

Necesito Ayuda Urgente, estoy online!!!

Estas en el tema de Necesito Ayuda Urgente, estoy online!!! en el foro de .NET en Foros del Web. Mi problema es que necesito Autenticar mediante formularios en mi sitio. Ya configure bien el webconfig, y conecte a la base de datos donde tengo ...
  #1 (permalink)  
Antiguo 24/02/2005, 01:26
Avatar de drake1983  
Fecha de Ingreso: febrero-2005
Ubicación: Cuba
Mensajes: 125
Antigüedad: 19 años, 9 meses
Puntos: 0
Exclamación Necesito Ayuda Urgente, estoy online!!!

Mi problema es que necesito Autenticar mediante formularios en mi sitio.

Ya configure bien el webconfig, y conecte a la base de datos donde tengo un procedimiento que me dice si el usuario y la contraseña suministrados existen y estan correctos.

Todas las pagina del sitio estan en el mismo directorio, no utilice subcarpetas ni nada, cuando no se autentifica se redirecciona a la pagina index.aspx, pero no se como hacer para que tenga entonces una vez autenticado acceso a las demas paginas del sitio.

Alguien podria ayudarme, tengo que entregar ese proyecto en la mañana y solo me falta eso.
Gracias de antemano!!!!
  #2 (permalink)  
Antiguo 24/02/2005, 02:07
 
Fecha de Ingreso: octubre-2004
Mensajes: 878
Antigüedad: 20 años, 1 mes
Puntos: 1
Los demas no se pero yo no entiendo bien el problema, eso se hace como dice aqui
http://es.gotdotnet.com/quickstart/a...formsauth.aspx
  #3 (permalink)  
Antiguo 24/02/2005, 02:24
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 9 meses
Puntos: 1
En teoria si has programado bien el web config,si cdo se autentica se guarda en una cokkie en el navegador simepre q intenete acceder a cualquier pagina de la carpeta va a poder por q ya se ha autenticado.

Si no eres capaz y tienes q entregar mañ muestranos el codigo del web config.
Pero vamos yo sin tocar nada especial si no se autentica no hace nada y si lo hace puede aceder a cualquier pagina,hasta q se pasa el tiempo de que tengo puesto de la cookie le de a un boton abandonar que borra la cookie.
  #4 (permalink)  
Antiguo 24/02/2005, 02:34
Avatar de drake1983  
Fecha de Ingreso: febrero-2005
Ubicación: Cuba
Mensajes: 125
Antigüedad: 19 años, 9 meses
Puntos: 0
Aki les va el codigo...

EL problema mio es como guardar la cookie.

miren el web config.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<system.web>


<!-- DYNAMIC DEBUG COMPILATION
Set compilation debug="true" to enable ASPX debugging. Otherwise, setting this value to
false will improve runtime performance of this application.
Set compilation debug="true" to insert debugging symbols (.pdb information)
into the compiled page. Because this creates a larger file that executes
more slowly, you should set this value to true only when debugging and to
false at all other times. For more information, refer to the documentation about
debugging ASP.NET files.
-->
<compilation
defaultLanguage="c#"
debug="true"
/>

<!-- CUSTOM ERROR MESSAGES
Set customErrors mode="On" or "RemoteOnly" to enable custom error messages, "Off" to disable.
Add <error> tags for each of the errors you want to handle.

"On" Always display custom (friendly) messages.
"Off" Always display detailed ASP.NET error information.
"RemoteOnly" Display custom (friendly) messages only to users not running
on the local Web server. This setting is recommended for security purposes, so
that you do not display application detail information to remote clients.
-->
<customErrors
mode="RemoteOnly"
/>

<!-- AUTHENTICATION
This section sets the authentication policies of the application. Possible modes are "Windows",
"Forms", "Passport" and "None"

"None" No authentication is performed.
"Windows" IIS performs authentication (Basic, Digest, or Integrated Windows) according to
its settings for the application. Anonymous access must be disabled in IIS.
"Forms" You provide a custom form (Web page) for users to enter their credentials, and then
you authenticate them in your application. A user credential token is stored in a cookie.
"Passport" Authentication is performed via a centralized authentication service provided
by Microsoft that offers a single logon and core profile services for member sites.
-->


<authentication mode="Forms">
<forms loginUrl ="index.aspx" name="ASPXUSERDEMO" protection="All" timeout="60">
<!-- protection="[All|None|Encryption|Validation]" -->
</forms>
</authentication>



<!-- AUTHORIZATION
This section sets the authorization policies of the application. You can allow or deny access
to application resources by user or role. Wildcards: "*" mean everyone, "?" means anonymous
(unauthenticated) users.
-->

<authorization>
<deny users="?" /> <!-- Allow all users -->
<!-- <allow users="[comma separated list of users]"
roles="[comma separated list of roles]"/>
<deny users="[comma separated list of users]"
roles="[comma separated list of roles]"/>
-->
</authorization>

<!-- APPLICATION-LEVEL TRACE LOGGING
Application-level tracing enables trace log output for every page within an application.
Set trace enabled="true" to enable application trace logging. If pageOutput="true", the
trace information will be displayed at the bottom of each page. Otherwise, you can view the
application trace log by browsing the "trace.axd" page from your web application
root.
-->
<trace
enabled="false"
requestLimit="10"
pageOutput="false"
traceMode="SortByTime"
localOnly="true"
/>

<!-- SESSION STATE SETTINGS
By default ASP.NET uses cookies to identify which requests belong to a particular session.
If cookies are not available, a session can be tracked by adding a session identifier to the URL.
To disable cookies, set sessionState cookieless="true".
-->
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>

<!-- GLOBALIZATION
This section sets the globalization settings of the application.
-->
<globalization
requestEncoding="utf-8"
responseEncoding="utf-8"
/>

</system.web>

</configuration>
  #5 (permalink)  
Antiguo 24/02/2005, 02:49
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 9 meses
Puntos: 1
Hechando un primer vistazo veo q tienes activada la entrada por session pero tienes a false lso cookiesless

Yo lo tengo a true

Por lo demas lo tienes igual que yo
el nombre d ela cookie sera ASPXUSERDEMO
La autorizacion esta correcta
Y tines activadas 2 cosas q yo no he utilizado q son el trace y globalization

Creo q cdo estube hacendo pruebas si ponias cookiesless a false dentro sessionstate no hacia nada
No autentucaba
Si autenticaba pero no lo guardaba en la cokie por lo q aefectos visuales no autenticaba

Última edición por neivan; 24/02/2005 a las 02:56
  #6 (permalink)  
Antiguo 24/02/2005, 02:52
Avatar de drake1983  
Fecha de Ingreso: febrero-2005
Ubicación: Cuba
Mensajes: 125
Antigüedad: 19 años, 9 meses
Puntos: 0
ok, voy a modificarlo, ahora te digo los resultados.
Gracias
  #7 (permalink)  
Antiguo 24/02/2005, 02:57
 
Fecha de Ingreso: octubre-2004
Mensajes: 878
Antigüedad: 20 años, 1 mes
Puntos: 1
yo en mi proyecto tengo cookieless= false y funciono bien con autenticationforms, por comentar...

La unica diferencia que he encontrado con el mio es que yo tengo
<deny users="?" />
<allow users="*" />
No se porque tengo ahí el allow pero veo que tu no lo tienes prueba a ver...
  #8 (permalink)  
Antiguo 24/02/2005, 03:00
Avatar de drake1983  
Fecha de Ingreso: febrero-2005
Ubicación: Cuba
Mensajes: 125
Antigüedad: 19 años, 9 meses
Puntos: 0
a ver si encuentro el fallo,
que codigo debo tener en el boton log in por ejemplo, o sea para crear la cookie y que sea persistente.

tengo dos TextBox, uno es el nick y el otro el pass.
de la base de datos chequeo si esta el nick y la contraseña coincide y en caso de ser verdadero devuelvo 1, sino devuelvo 0. y lo guardo en la variable aut.
en el boton puse algo asi

mira el codigo de la pginalogin

sqlConnection1.Open();
sqlCommand1.Parameters[1].Value=TextBox1.Text;
sqlCommand1.Parameters[2].Value=TextBox2.Text;
sqlCommand1.ExecuteNonQuery();
int aut=(int)sqlCommand1.Parameters[0].Value;
sqlConnection1.Close();
if (aut == 1)
{
FormsAuthentication.RedirectFromLoginPage(TextBox1 .Text,true,"ASPXUSERDEMO");


}
else
{TextBox1.Text="Usuario No valido";
}
  #9 (permalink)  
Antiguo 24/02/2005, 03:15
Avatar de drake1983  
Fecha de Ingreso: febrero-2005
Ubicación: Cuba
Mensajes: 125
Antigüedad: 19 años, 9 meses
Puntos: 0
wakeup, podrias decrime como creas la cookie en el boton login de tu proyecto? En C# si te es posible.
  #10 (permalink)  
Antiguo 24/02/2005, 03:18
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 9 meses
Puntos: 1
He probao a poner a false el cookieless y me sigue funcionando asi k no era eso lo q no me hacia falalr cdo hice las pruebas.

si entrar a valorar el codigo de la bd ni el procedieento q supongo q habras mas q comprobao si te entra en el 1 o en el 0
la unica diferencia q veo en el mi oes FormsAuthentication.RedirectFromLoginPage(TextBox1 .Text,true) q no tengo puesto el nombre de la cookie en esta funcion pero supongo q no te solucionara esto nada.

yo el forms lo tengo asi:

<authentication mode="Forms">
<forms name="ivan" loginUrl="Validar.aspx"
protection="All" timeout="10" path="/">
<credentials passwordFormat="Clear">

</credentials>
</forms>
</authentication>

lo demas igual igual.
  #11 (permalink)  
Antiguo 24/02/2005, 03:25
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 9 meses
Puntos: 1
La cookie hasta lo que se yo se crea sola,te la crea el web config vamos,de todas formas lei en el faq una tema que se titula como hacer q guarden cookies los navegadores q tienen esa opcion desactivada,es decir q no dejan guardar cookies.
  #12 (permalink)  
Antiguo 24/02/2005, 03:31
Avatar de drake1983  
Fecha de Ingreso: febrero-2005
Ubicación: Cuba
Mensajes: 125
Antigüedad: 19 años, 9 meses
Puntos: 0
Sonrisa

amigos mios, ya solucione el problema, gracias a ambos!!!!!!!!
El problema era en el boton login,

Al fin termineeeee!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!
  #13 (permalink)  
Antiguo 24/02/2005, 03:32
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 9 meses
Puntos: 1
Cual era el problema??

Por si a alguien le vuleve a pasar
  #14 (permalink)  
Antiguo 24/02/2005, 03:43
Avatar de drake1983  
Fecha de Ingreso: febrero-2005
Ubicación: Cuba
Mensajes: 125
Antigüedad: 19 años, 9 meses
Puntos: 0
Bueno , cogi y el webconfig le puse las cookieless="true";

lo demas lo deje igual que como estaba,
en el boton login puse
if (aut == 1)
{
FormsAuthentication.RedirectFromLoginPage(TextBox1 .Text,false);


}
else
{Response.Redirect("index.aspx");

y asi funciona,
a proposito, no hay alguna manera en el webconfig que puedas especificarle que una pagina es de libre acceso????
  #15 (permalink)  
Antiguo 24/02/2005, 04:01
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 19 años, 9 meses
Puntos: 1
La verdad es q si la hay no la conozco,la posibilidad seria crear otor proyecto en otra carpeta,yo tengo tres poryectos uno sin contraseña y dos con contraseña independientes el uno del otro,con dos cookies diferentes...... 3 directorios virtuales.......

Seguramente la haya pero en el manual q utilice del web config no venia.
  #16 (permalink)  
Antiguo 24/02/2005, 04:02
Avatar de drake1983  
Fecha de Ingreso: febrero-2005
Ubicación: Cuba
Mensajes: 125
Antigüedad: 19 años, 9 meses
Puntos: 0
ok, gracias amigo, si la averiguo algun dia te lo comento!!
  #17 (permalink)  
Antiguo 24/02/2005, 06:18
 
Fecha de Ingreso: octubre-2004
Mensajes: 878
Antigüedad: 20 años, 1 mes
Puntos: 1
Yo añado esto al final del webconfig por cada pagina que quiero que se salte la autenticacion no se si hay otra forma mejor pero esta funciona.

</system.web>
<location path="error.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="mesaltoautenticacion.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration>


Breakdance
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:45.