Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/05/2009, 11:49
Avatar de jaullo
jaullo
 
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años
Puntos: 30
Respuesta: Seguridad Basada en Roles en Aplicaciones Windos Forms conectadas a bases

Bueno... me gustaría conocer esa aplicación tambien jajaja.

Te dejo este código de una clase que te permite manejar roles mendiante active directoy. Esto te da un poco de dinamismo.

Imports Microsoft.VisualBasic
Imports System.Security.Principal

Public Class Seguridad
Private roladministrador As String
Private rolusuario As String
Public Property administrador() As String
Get
Return roladministrador
End Get
Set(ByVal value As String)
roladministrador = "DominioInterno\GrupoInterno" '"DominioExterno\GrupoExterno"
End Set
End Property
Public Property usuario() As String
Get
Return rolusuario
End Get
Set(ByVal value As String)
rolusuario = "DominioExterno\GrupoExterno"
End Set
End Property
Public Function getusuario() As String
Dim id As WindowsIdentity
Dim User As WindowsPrincipal
id = WindowsIdentity.GetCurrent()
User = New WindowsPrincipal(id)
Return User.Identity.Name
End Function


Public Function isinrole(ByVal rol As String) As Boolean
Dim id As WindowsIdentity
Dim User As WindowsPrincipal
id = WindowsIdentity.GetCurrent()
User = New WindowsPrincipal(id)
If User.IsInRole(rol) = True Then
Return True
Else
Return False
End If
End Function
Public Function isinroleencuestados() As Boolean
Me.administrador = "DominioInterno\GrupoInterno" '"DominioExterno\GrupoExterno"
Me.usuario = "Usuario"
Dim id As WindowsIdentity
Dim User As WindowsPrincipal
id = WindowsIdentity.GetCurrent()
User = New WindowsPrincipal(id)
'MsgBox(Me.administrador)
If User.IsInRole(Me.administrador) = True Then
Return True
Else
Return True
End If
End Function
Public Function estaconectado() As Boolean
Dim id As WindowsIdentity
Dim User As WindowsPrincipal
id = WindowsIdentity.GetCurrent()
User = New WindowsPrincipal(id)
If User.Identity.IsAuthenticated = False Then
Return False
Else
Return True
End If

End Function

Public Function isinroleusuario() As Boolean
Me.administrador = "DominioInterno\GrupoInterno"
Me.usuario ="DominioExterno\GrupoExterno"
Dim id As WindowsIdentity
Dim User As WindowsPrincipal
id = WindowsIdentity.GetCurrent()
User = New WindowsPrincipal(id)
If User.IsInRole(Me.usuario) = True Then
Return True
Else
Return False
End If
End Function
End Class

Saludos,