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

Autenticacion por formularios en ASP.NET

Estas en el tema de Autenticacion por formularios en ASP.NET en el foro de .NET en Foros del Web. Estoy migrando una aplicación ASP a ASP.NET y estoy utilizando la autenticación de usuarios. En el Web.Config configuré la autenticación de este modo: <authentication mode="Forms"> ...
  #1 (permalink)  
Antiguo 12/10/2004, 15:44
Avatar de rlivon  
Fecha de Ingreso: enero-2004
Ubicación: Buenos Aires
Mensajes: 30
Antigüedad: 20 años, 3 meses
Puntos: 0
Autenticacion por formularios en ASP.NET

Estoy migrando una aplicación ASP a ASP.NET y estoy utilizando la autenticación de usuarios. En el Web.Config configuré la autenticación de este modo:
<authentication mode="Forms">
<forms loginUrl="Login.aspx"></forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>

En el Global.asax autentique mediante una conexión a SQL Server así:

Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
If Request.IsAuthenticated = True Then
Dim user As IIdentity = Context.User.Identity
Dim oSQLCon As SqlConnection
Dim oSQLAdapter As SqlDataAdapter
Dim ssql As String
Dim oDataSet As DataSet
ssql = "select Grupo from usuarios where usuario='" & Trim(user.Name.ToUpper) & "'"
oSQLCon = New SqlConnection("data source=Italia;user id=sa;password=samsung;database=Extranet")
oSQLCon.Open()
oSQLAdapter = New SqlDataAdapter(ssql, oSQLCon)
oDataSet = New DataSet("Usuarios")
oSQLAdapter.Fill(oDataSet, "Usuarios")
oSQLCon.Close()
Dim s() As String = {Trim(oDataSet.Tables("Usuarios").Rows.Item(0).Ite m("Grupo"))}
Context.User() = New GenericPrincipal(user, s)
oDataSet = Nothing
oSQLAdapter = Nothing
End If
End Sub
De este modo configuré los usuarios y roles pertinentes. Ahora bien el problema es que quiero acceder a la información de los roles y no sé como hacerlo. Puedo comparar una cadena contra un rol mediante la función IsInRole de este modo:
User().IsInRole("Administrador")
Pero me gustaría saber como obtengo el valor directamente, es decir sin tener que compararlo. Algo así como User().Role pero de este modo no funciona porque las unicas propiedades de User() son estas:
User().Identity.AuthenticationType()
User().Identity.IsAuthenticated()
User().Identity.Name()
User().IsInRole()

¿ALGUIEN SABE COMO PUEDO HACERLO?
GRACIAS.
RAUL
__________________
R@UL
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 00:49.