Avatar billede celal Nybegynder
30. juli 2003 - 13:28 Der er 20 kommentarer og
1 løsning

Database sikkerhed

Hvordan kan jeg sikre mig at der ikke er nogen som kan gå ind bagved i databasewinduet og slette data?
Det eneste tidspunkt de må slette og redigere data data er via programmet (via foms). Den eneste som må gå bagved og slette er mig? Dvs. at jeg skal bruge en form for kode for at gå bagom.

Er der nogen som kan fortælle mig hvordan jeg gøre det? Jeg har slet ikke styr på sikkerhed i Access, så I må meget gerne være detaljeret....
Avatar billede henrik13 Nybegynder
30. juli 2003 - 13:46 #1
Lav det på denne måde, det gjorte jeg:

http://www.eksperten.dk/spm/175783
Avatar billede oneskarvonly Nybegynder
30. juli 2003 - 13:48 #2
Funktioner->sikkerhed->angiv adgangskode til database
Avatar billede henrik13 Nybegynder
30. juli 2003 - 13:49 #3
Det består af 2 makroer, der svarre til du fjerner alle krydserne i start. Den ene sætter krydserne, den anden fjerner dem igen så du kan rette alt.
Avatar billede oneskarvonly Nybegynder
30. juli 2003 - 13:49 #4
Connection String med password:

MM_con2ccdb_STRING = "dsn=db;uid=Admin;pwd=PasswordHer;"
Avatar billede henrik13 Nybegynder
30. juli 2003 - 13:54 #5
>>oneskarvonly
Adgangskoden forhindre da ikke brugerne i at rette data
Avatar billede celal Nybegynder
30. juli 2003 - 13:56 #6
I må være lidt mere specifike...
Avatar billede celal Nybegynder
30. juli 2003 - 14:02 #7
Brugeren skal ikke indtaste noget adganskode. Brugeren skal kun indtaste adgangskode hvis de prøver at åbne databasewinduet...Hvordan klare jeg den?
Avatar billede overchord Nybegynder
30. juli 2003 - 14:06 #8
Gaa ind i opstart for databsen (under indstillinger eller noget i den retning), og fjern alle afkrydsninger. Dermed kan brugeren ikke bruge andet end forms og kan ikke se database vinduet.
Hvis du vil "ind bagved" holder du shift-knappen nede mens du dobbletklikker paa filen. Dermed aabner den med alt vist - som du har det nu.
Henriks loesning slaar denne funktion fra og til saa brugerne ikke kan bruge shift-loesningen, men det kommer selvf altsammen an paa:
1) Hvor meget folk piller, og hvor meget de reelt set er ude paa at oedelaegge databasen
2)hvor paranoid du er :-)

Jeg har lavet en alternativ loesning for en splittet datbase. Dvs alle tabellerne ligger i en database paa server, mens brugerne har alle forms i en anden fil paa deres egen computer. Jeg har oprettet dobbeltkopi af backenden/databasen paa serveren, hvor den ene kun tillader to personer at aabne den, men den anden er "public". Fra "admin" versionen kan man ved tryk paa en knap opdatere den offentlige version. Lidt bagvendt maaske - men det virker :-)
Avatar billede henrik13 Nybegynder
30. juli 2003 - 14:08 #9
DoCmd.RunCommand acCmdWindowHide
Forhindre lukning af formular.
Der laver du på formularene , alle luk knapper væk. Derefter en luk knap der giver kode til lukning eller skrivning.
Avatar billede celal Nybegynder
30. juli 2003 - 14:43 #10
En anden ting er at, jeg godt kunne tænke mig at vide hvem der prøver at komme ind på databasewinduet, er det ikke muligt at lave en log fil for de buger som kommer ind på Databasewinduet??
Avatar billede henrik13 Nybegynder
30. juli 2003 - 14:48 #11
Lav en log fil på hvornår hver bruger kommer på og hvornår de afslutter.
Ud for hver tabel står tidspunkted det er ændret.
Avatar billede celal Nybegynder
30. juli 2003 - 15:01 #12
henrik: hvordan laver jeg denne logfil?
Avatar billede henrik13 Nybegynder
30. juli 2003 - 15:08 #13
Sådan laves txt logfil.

Lav et modul med dette indehold:

Sub LogFil(Fil As String, Meddelelse As String)
            Dim FilNr As Integer
            FilNr = FreeFile
            Open Fil For Append As #FilNr
Print #FilNr, Format(Expression:=Now, Format:="dd. mmm yy kl. hh:mm:ss ") & Meddelelse
            Close #FilNr
   
End Sub

2.    Derefter kan styringen indskrives i en handling, ( i formular.):

Private Sub Form_Open(Cancel As Integer)
            LogFil Fil:="c:\logfil.txt", Meddelelse:="Start tid"
End Sub

3.    Dette er en start tid. Der kan også laves en luk tid.

Vh Henrik
Avatar billede celal Nybegynder
30. juli 2003 - 15:16 #14
er der andre informatione jeg kan få med? eks:brugernavn, maskine,osv?
Avatar billede celal Nybegynder
30. juli 2003 - 15:20 #15
kan jeg foreksempel få med på logen, når en person går ind via databasewindows og sletter poster?
Avatar billede celal Nybegynder
30. juli 2003 - 15:35 #16
Hvorfor kan jeg ikke buge : LogFil Fil:="logfil.txt", Meddelelse:="Start tid" ??

Jeg har lagt logfil.txt i samme mappe som databasen... men den skriver ikke noget... Hvad gøre jeg galt?
Avatar billede henrik13 Nybegynder
30. juli 2003 - 15:39 #17
Se adressen:
    LogFil Fil:="c:\logfil.txt", Meddelelse:="Start tid"
Den ligger i roden. Eller skriv en anden sti, ex:
    LogFil Fil:="c:\Henrik13\logfil.txt", Meddelelse:="Start tid"
Så ligger den i kateloget Henrik13.
Avatar billede henrik13 Nybegynder
30. juli 2003 - 15:41 #18
I formen i hændelser kan du også lave en luk tid, ex:
  LogFil Fil:="c:\logfil.txt", Meddelelse:="Luk tid"
Avatar billede henrik13 Nybegynder
31. juli 2003 - 14:49 #19
Er det ikke snart lukketid.  :o)
Avatar billede celal Nybegynder
31. juli 2003 - 15:23 #20
jo, det er lukke tid..... tak for hælpen
Avatar billede henrik13 Nybegynder
31. juli 2003 - 15:24 #21
Tak for poient.  ;o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Specialister til Netværksoperations til Forsvarets nye Digitale Backbone

Capgemini Danmark A/S

AI/Data Engineer

Capgemini Danmark A/S

Client Partner