Avatar billede mr-d Nybegynder
05. november 2004 - 09:36 Der er 4 kommentarer og
1 løsning

MySQL user verification fra flere databaser

Hej med jer

Er du muligt at bruge flere databaser til godkendelse af brugere ifb. m. mysql så det ikke kun er
MySQL databasen der styrer brugere, deres rettigheder og deres adgang til de forskellige databaser.

Jeg ved det lyder sært men jeg har brug for at hver bruger har egen mysql db,
men individuel brugergodkendelse i selve mysql,
jeg ved det lyder sært men det er meget følsomme data som på ingen måde
må kunne tilgås af andre end den enkelte bruger, og dette er vurderet som måden at gøre det på.

Jeg har en seperat brugerdatabase, og hver bruger skal så have sin egen database til følsomme data.

Spørgsmålet er så - er det død og pine nødvendigt at oprette alle mine brugere i mysql standart dben - eller findes der en anden løsning, som stadig gør at mysql stadig vil verificere brugernes adgang til selve mysql?
Men bare fra mere end en db?
Avatar billede arne_v Ekspert
05. november 2004 - 10:09 #1
Jeg mener at MySQL har al bruger info i mysql databasen og jeg tror ikke at det
kan ændres.

Jeg kan heller ikke se hvorfor det skulle være relevant hvor bruger info opbevares.

Du opretter brugernavne i den centrale bruger database, opretter en database per
bruger og sætter brugernavnene op til kun at have adgang til deres egen
database.

Man får vel ikke nogen adgang fordi ens brugernavn ligger i samme database
som et brugernavn der har adgang.
Avatar billede mr-d Nybegynder
05. november 2004 - 12:40 #2
Du har ret i at
"Man får vel ikke nogen adgang fordi ens brugernavn ligger i samme database
som et brugernavn der har adgang."

Men det kunne være rart at have alle brugerinfo samlet i én DB og ikke i to,
det ville blive nødvendigt da jeg ikke er villig til at gemme alle mulige og umlige brugerinformationer i mysql databasen, så det kan være jeg bliver nødt til at sigete efter en helt anden løsning alligevel.
Avatar billede arne_v Ekspert
05. november 2004 - 13:09 #3
Oplysninger om en bruger til MySQL om oplysninger om X til en bruger er
vel to helt forskellige ting.
Avatar billede majkat Nybegynder
05. november 2004 - 17:30 #4
MySQL styrer kun brugeradgang gennem mysql databasen - det kommer du ikke uden om.

Prøv at se lidt nærmere på GRANT ... WITH GRANT OPTION

Hvis du f.eks. siger

  GRANT ALL PRIVILEGES
  ON db1.*
  TO 'mr-d'@'localhost'
  IDENTIFIED BY 'password'
  WITH GRANT OPTION

så vil brugere 'mr-d' have mulighed for at videregive en eller flere af sine egne privilegier til andre brugere -- men ikke privilegier han ikke selv har.

Det kræver dog at du kan have en vis tillid til de brugere du udpeger som admins, idet der er scenarier hvor 2 admins kan kombinere deres privilegier til at escalere hinandens brugere.

Mere om GRANT her: http://dev.mysql.com/doc/mysql/en/GRANT.html

Hvis du er helt hysterisk med sikkerheden og adgang på tværs af databaser, bør du køre en separat mysql server for hver database. Det kan du læse om her:
http://dev.mysql.com/doc/mysql/en/mysqld_multi.html
Avatar billede arne_v Ekspert
21. november 2004 - 20:29 #5
mr-d>

Tid at få afsluttet spørgsmålet ?

Og et svar fra mig.
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

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