Dicen que al que toca puertas le abren

16/06/2005 - 21:05 por marco | Informe spam
Perdon por insistir...
Hola a todos, gracias por leer este mensaje.

He implementado la autenticacion por forms usando una pagina login.aspx y
funciona de maravilla en máquinas con Windows 2000 Pro, XP Pro SP2 y Windows
2003 Web Edition, pero en un servidor Small Business Server tiene una
conducta atípica, al intentar hacer login el usuario efectivamente queda
autenticado, pero permanece en la página de login.

El web.config contiene esto:
...
<authentication mode="Forms">
<forms name=".user" loginUrl="~/login.aspx" protection="All"
timeout="720" slidingExpiration="true" />
</authentication>

<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
...

el login.aspx contiene esto al inicio:

Imports System.Diagnostics
Imports System.Data.SqlClient
Imports System.Web.Security

El boton para autenticar contiene esto (solo pongo la parte que corre cuando
el usuario es valido):
...

Private Sub btnSignin_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btnSignin.Click
...
'//////////////////////////////////////////
' Generar un ticket de authenticacion
Dim tkt As FormsAuthenticationTicket
Dim cookiestr As String
Dim blnPersiste As Boolean = False
Dim intMinutos As Int16 = 30
Dim ck As HttpCookie

blnPersiste = True

tkt = New FormsAuthenticationTicket(1, _
user_id, _
DateTime.Now(), _
DateTime.Now.AddMinutes(intMinutos), _
blnPersiste, _
user_name)

cookiestr = FormsAuthentication.Encrypt(tkt)

ck = New HttpCookie( _
FormsAuthentication.FormsCookieName(),cookiestr)

If blnPersiste Then ck.Expires = tkt.Expiration

ck.Path = FormsAuthentication.FormsCookiePath()
Response.Cookies.Add(ck)

Dim strRedirect As String
strRedirect = Request("ReturnURL")
If strRedirect <> "" Then
Response.Redirect(strRedirect, True)
Else
strRedirect = "default.aspx"
Response.Redirect(strRedirect, True)
End If
'//////////////////////////////////////////
...

Comentarios: He sustituido las lineas Response.Redirect por Server.Transfer,
ya que las primeras envian a una página en blanco.

Suponiendo que la lógica del ASP.NET está bien, ya que funciona en otros
sistemas operativos, qué se debe configurar en el Small Business Server para
que funcione?

Mil gracias

Marco Padierna

Preguntas similare

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
16/06/2005 - 23:10 | Informe spam
¿Esta permitida la autenticacion anonima en el IIS del SBS? Para
autenticacion por formularios la autenticacion anonima debe estar activa en
la aplicacion en el IIS.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
Respuesta Responder a este mensaje
#2 Eduardo A. Morcillo [MS MVP VB]
16/06/2005 - 23:10 | Informe spam
¿Esta permitida la autenticacion anonima en el IIS del SBS? Para
autenticacion por formularios la autenticacion anonima debe estar activa en
la aplicacion en el IIS.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
Respuesta Responder a este mensaje
#3 marco
16/06/2005 - 23:12 | Informe spam
Sí, autenticacion anónima, pero tambien autenticacion windows, de otro modo
no puedo depurar

Saludos
Marco Padierna

"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> escribió en el
mensaje news:
¿Esta permitida la autenticacion anonima en el IIS del SBS? Para
autenticacion por formularios la autenticacion anonima debe estar activa
en la aplicacion en el IIS.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo


Respuesta Responder a este mensaje
#4 marco
16/06/2005 - 23:12 | Informe spam
Sí, autenticacion anónima, pero tambien autenticacion windows, de otro modo
no puedo depurar

Saludos
Marco Padierna

"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> escribió en el
mensaje news:
¿Esta permitida la autenticacion anonima en el IIS del SBS? Para
autenticacion por formularios la autenticacion anonima debe estar activa
en la aplicacion en el IIS.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo


Respuesta Responder a este mensaje
#5 DJ MIAO
17/06/2005 - 03:59 | Informe spam
Cambia el windows ...


Miao...
Comprate un libro.
Perdon por insistir...
Hola a todos, gracias por leer este mensaje.

He implementado la autenticacion por forms usando una


pagina login.aspx y
funciona de maravilla en máquinas con Windows 2000 Pro,


XP Pro SP2 y Windows
2003 Web Edition, pero en un servidor Small Business


Server tiene una
conducta atípica, al intentar hacer login el usuario


efectivamente queda
autenticado, pero permanece en la página de login.

El web.config contiene esto:

<authentication mode="Forms">
<forms name=".user" loginUrl="~/login.aspx"


protection="All"
timeout="720" slidingExpiration="true" />
</authentication>

<authorization>
<deny users="?" />
<allow users="*" />
</authorization>


el login.aspx contiene esto al inicio:

Imports System.Diagnostics
Imports System.Data.SqlClient
Imports System.Web.Security

El boton para autenticar contiene esto (solo pongo la


parte que corre cuando
el usuario es valido):


Private Sub btnSignin_Click(ByVal sender As Object,


ByVal e As
System.EventArgs) Handles btnSignin.Click

'//////////////////////////////////////////
' Generar un ticket de authenticacion
Dim tkt As FormsAuthenticationTicket
Dim cookiestr As String
Dim blnPersiste As Boolean = False
Dim intMinutos As Int16 = 30
Dim ck As HttpCookie

blnPersiste = True

tkt = New FormsAuthenticationTicket(1, _
user_id, _
DateTime.Now(), _
DateTime.Now.AddMinutes(intMinutos), _
blnPersiste, _
user_name)

cookiestr = FormsAuthentication.Encrypt(tkt)

ck = New HttpCookie( _
FormsAuthentication.FormsCookieName


(),cookiestr)

If blnPersiste Then ck.Expires =


tkt.Expiration

ck.Path = FormsAuthentication.FormsCookiePath


()
Response.Cookies.Add(ck)

Dim strRedirect As String
strRedirect = Request("ReturnURL")
If strRedirect <> "" Then
Response.Redirect(strRedirect, True)
Else
strRedirect = "default.aspx"
Response.Redirect(strRedirect, True)
End If
'//////////////////////////////////////////


Comentarios: He sustituido las lineas Response.Redirect


por Server.Transfer,
ya que las primeras envian a una página en blanco.

Suponiendo que la lógica del ASP.NET está bien, ya que


funciona en otros
sistemas operativos, qué se debe configurar en el Small


Business Server para
que funcione?

Mil gracias

Marco Padierna


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida