|    
			
				22/05/2009, 11:49
			
			
			  | 
  |   |  |  |  |  Fecha de Ingreso: abril-2009 
						Mensajes: 994
					 Antigüedad: 16 años, 6 meses 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,
     |