Benutzerberechtigungen eingebaut

This commit is contained in:
ms
2019-08-19 09:32:57 +02:00
parent 43c151d184
commit f470bce279
19 changed files with 610 additions and 154 deletions

View File

@@ -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