25. juni 2002 - 19:25Der er
3 kommentarer og 1 løsning
Brugere/Grupper
Hej,
Jeg kunne godt tænke mig en dialogbox med brugerid samt password, der checker hvilken gruppe brugeren tilhøre samt validere dennes password. Password skal være det samme som det personlige id brugeren oprettes med under Funktioner/Sikkerhed/Bruger - gruppe konti.
Fra en tidligere thread fandt jeg følgende kode:
Dim wspWorkspace As Workspace Dim grpGroup As Group Dim usrUsers As User
MemberOfGroup = False
Set wspWorkspace = DBEngine.Workspaces(0) Set grpGroup = wspWorkspace.Groups(GroupToCheck)
For Each usrUsers In grpGroup.Users If usrUsers.Name = gstrCurrentUser Then MemberOfGroup = True
End If Next usrUsers
Denne kode har jeg forsøgt anvendt men får fejlen "Item not in this collection" i linjen wspWorkspace.Groups!
En anden ting der er alvorligt bekymrende er at ændringer i bruger - gruppekonti slår igennem fra den ene database til en anden.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
1) Du kan ikke styre at password skal være det samme som PID-koden. PID-koden er Write-Only! Du kan derfor ikke aflæse PID-koden og derefter sætte password. Det vil desuden være en mindre sikkerhedsbrist, hvis disse 2 var ens.
2) Mht grupper, så kan en bruger jo tilhører flere grupper. Du kan derfor ikke entydigt lave en funktion, som fortæller dig hvilken gruppe en bruger tilhører. I stedet kan du lave en funktion, som kontrollere om en bruger tilhører en bestemt gruppe. Du skal altså spørge, så du kan få et ja/nej-svar.
Nedenstående funktion returnere sand eller falsk afhængigt af om en given bruger tilhører en given gruppe.
Public Function InGroup(Gruppe As String, Bruger as String) As Boolean On Error Resume Next
Dim wrkDefault As Workspace Dim usr As User Set wrkDefault = DBEngine.Workspaces(0)
For Each usr In wrkDefault.Groups(Gruppe).Users If usr.Name = Bruger Then InGroup = True Next usr End Function
Eks: If InGroup("Systemadministratorer", "Kurt") = true then .....
Hvis du på forhånd kender alle grupper, kan du selvfølgelig løbe hver gruppe gennem og checke hvilken gruppe brugeren tilhører.
3) Angående omfanget af sikkerhedsopsætningen, så har Terry ret. Du kan oprette sikkerhed/arbejdsgruppe-filer til hver database, hvis du ønsker det. Dette gøres lettest fra "Microsoft Access Arbejdsgruppeadministrator"-programmet, som enten findes i Office-mappen i start-menuen eller på harddisken under C:\Program Files\Microsoft Office\Office
Accecc HAR sit eget sikkerhedssystem med login-dialogboks og hele molevitten.
Du aktivere det vha menuen Funktioner->Sikkerhed->Bruger- og gruppekonti
Hvis du opretter brugere og samtidig skifter adgangskoden for default-brugeren (Admin) så vil du blive prompted for adgangskode næste gang du åbner en database.
Jeg vil anbefale dig at læse online-hjælpen om sikkerhed gennem. Det er for omfattende at gennemgå her.
/Thomas
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.