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