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
 

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

Preguntas similares