Benutzerberechtigungen eingebaut
This commit is contained in:
@@ -5,17 +5,33 @@ Public Class Login
|
||||
Property BenutzeranmeldeName As String = ""
|
||||
|
||||
Private Sub Login_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
cSharedClasses.LoggedOnUser.FillWithLoggedOnUser(True)
|
||||
Dim LDAP As String = ReturnLDAP(Environment.UserDomainName)
|
||||
Class1.LoggedOnUser.FillWithLoggedOnUser(True, LDAP)
|
||||
Class1.DebugText = LDAP
|
||||
' Class1.DebugText &= Environment.UserDomainName & vbCrLf
|
||||
'Class1.DebugText &= ReturnLDAP(Environment.UserDomainName) & vbCrLf
|
||||
Class1.CheckDebug()
|
||||
Try
|
||||
userPrincipalName = System.DirectoryServices.AccountManagement.UserPrincipal.Current.UserPrincipalName
|
||||
Catch
|
||||
Catch ex As Exception
|
||||
MsgBox("Login_Load: " & ex.Message)
|
||||
End Try
|
||||
|
||||
BenutzeranmeldeName = Environment.UserDomainName & "\" & Environment.UserName
|
||||
' MsgBox(userPrincipalName & vbCrLf & BenutzeranmeldeName)
|
||||
End Sub
|
||||
|
||||
Private Function ReturnLDAP(ByVal DomainName As String) As String
|
||||
Select Case DomainName
|
||||
Case "IMEX"
|
||||
Return "LDAP://DC=IMEX,DC=LOCAL"
|
||||
Case "VERAGNEUHAUS"
|
||||
Return "LDAP://DC=VERAGNEUHAUS,DC=LOCAL"
|
||||
Case "VERAGOST"
|
||||
Return "LDAP://DC=VERAG,DC=OST,DC=DMN"
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
|
||||
lblInfo.Text = ""
|
||||
Login()
|
||||
@@ -35,20 +51,39 @@ Public Class Login
|
||||
Public Function Abfrage(user As String, Optional ByVal txt As Boolean = False)
|
||||
Dim locGroups As List(Of String) = GetUserGroupMembership(user)
|
||||
Dim gefunden As Boolean = False
|
||||
' Dim debugtext As String = ""
|
||||
Class1.LoggedOnUser.FillWithLoggedOnUser(True)
|
||||
Class1.GroupUsers = uscntr_Benutzer.LoadAllGroupmembers()
|
||||
'showusersinlist()
|
||||
|
||||
For Each group As String In locGroups
|
||||
If group = "CN=SG_Doku_User_FULL" Then
|
||||
Class1.LoggedOnUser.FillWithLoggedOnUser(True)
|
||||
For Each usr As cBenutzer In Class1.GroupUsers
|
||||
'MsgBox(usr.msDSPrincipalName & vbCrLf & cSharedClasses.LoggedOnUser.msDSPrincipalName)
|
||||
If usr.msDSPrincipalName.ToString = Class1.LoggedOnUser.msDSPrincipalName.ToString Then
|
||||
' MsgBox("Treffer!")
|
||||
Class1.LoggedOnUserRights = cBerechtigungen.ReadAll(Class1.LoggedOnUser.BenutzeranmeldeName)
|
||||
gefunden = True
|
||||
'Main.Show()
|
||||
Class1.GroupUsers = uscntr_Benutzer.LoadAllGroupmembers()
|
||||
showusersinlist()
|
||||
ShowMain()
|
||||
Me.Hide()
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
'For Each group As String In locGroups
|
||||
' debugtext &= group & vbCrLf
|
||||
' If group = "CN=SG_Doku_User_FULL" Then
|
||||
' Class1.LoggedOnUser.FillWithLoggedOnUser(True)
|
||||
' Class1.LoggedOnUserRights = cBerechtigungen.ReadAll(Class1.LoggedOnUser.BenutzeranmeldeName)
|
||||
' gefunden = True
|
||||
' 'Main.Show()
|
||||
' 'Class1.GroupUsers = uscntr_Benutzer.LoadAllGroupmembers()
|
||||
' 'showusersinlist()
|
||||
' ShowMain()
|
||||
' Me.Hide()
|
||||
' End If
|
||||
'Next
|
||||
' MsgBox(debugtext)
|
||||
If gefunden = True Then
|
||||
|
||||
Exit Function
|
||||
Else
|
||||
Me.WindowState = Me.WindowState.Normal
|
||||
@@ -120,9 +155,22 @@ Public Class Login
|
||||
Debug.WriteLine("User nicht gefunden!")
|
||||
End If
|
||||
|
||||
'Dim locDirectorySearcher3 As New DirectoryServices.DirectorySearcher(locDirectoryEntry, "msDS-PrincipalName=" & locUsername)
|
||||
'Dim locSearchResult3 As DirectoryServices.SearchResult = locDirectorySearcher3.FindOne
|
||||
'If locSearchResult3 IsNot Nothing Then
|
||||
' Dim locUserEntry As New DirectoryServices.DirectoryEntry(locSearchResult3.Path)
|
||||
' Dim locGroups As Object = locUserEntry.Invoke("Groups")
|
||||
' For Each locGroupObj As Object In DirectCast(locGroups, IEnumerable)
|
||||
' Dim locGroupEntry As New DirectoryServices.DirectoryEntry(locGroupObj)
|
||||
' locResult.Add(locGroupEntry.Name)
|
||||
' Next
|
||||
'Else
|
||||
' Debug.WriteLine("User nicht gefunden!")
|
||||
'End If
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
MessageBox.Show(ex.Message, "GetUserGroupMembership", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
MessageBox.Show("GetUserGroupMembership: " & ex.Message, "GetUserGroupMembership", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
End Try
|
||||
Return locResult
|
||||
End Function
|
||||
@@ -156,15 +204,18 @@ Public Class Login
|
||||
|
||||
For Each right As cBerechtigungen In Class1.LoggedOnUserRights
|
||||
If right.Standort = "DokuAdmin" And right.Zugriff = "Y" Then
|
||||
main.BenutzerToolStripMenuItem.Enabled = True : Exit For
|
||||
Class1.LoggedOnUserisAdmin = True
|
||||
main.BenutzerToolStripMenuItem.Enabled = True
|
||||
main.NetzwerkeToolStripMenuItem.Enabled = True
|
||||
Exit For
|
||||
Else
|
||||
main.BenutzerToolStripMenuItem.Enabled = False
|
||||
main.NetzwerkeToolStripMenuItem.Enabled = False
|
||||
End If
|
||||
Next
|
||||
|
||||
main.Show()
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user