Avatar billede webcreator Nybegynder
12. april 2005 - 14:16 Der er 10 kommentarer og
1 løsning

Tjek rettigheder i databasen

Hej Eksperter.

Er det muligt at tjekke, om en given bruger i mysql-databasen har rettigheder til henholdsvis at læse og skrive i tabellen minDB.brugere ?

Det er sandsynligvis bare et SQL statement, men jeg placerede det alligevel i denne kategori for en sikkerhedsskyld.
Avatar billede arne_v Ekspert
12. april 2005 - 15:54 #1
Avatar billede webcreator Nybegynder
13. april 2005 - 09:37 #2
Hej Arne.
Mange tak - det kunne absolut være en løsning. Jeg er dog kommet frem til en anden, mulig løsning. Til MySQL brugere kan tilknyttes en beskrivelse i mysql.user_info tabellen. Her indsætter jeg blot en værdi i feltet 'description', som "bestemmer" hvilke rettigheder den givne bruger skal have i mit program :)
Avatar billede webcreator Nybegynder
13. april 2005 - 09:38 #3
Du må gerne smide et svar, Arne :)
Hvis du tilfældigvis skulle vide, hvordan man opretter en bruger i MySQL, der højest kan få de samme rettigheder som den bruger man er logget ind med, så må du gerne fortælle det :)
Avatar billede webcreator Nybegynder
13. april 2005 - 09:39 #4
Men det er muligt at 'GRANT ALL PRIVILEGES' automatisk finder ud af, hvor høje rettigheder en bruger kan tilknyttes - afhængig af brugeren der opretter kontoen.
Avatar billede webcreator Nybegynder
13. april 2005 - 09:56 #5
Nej, sagt på en anden måde - det jeg egentlig er interesseret i, er at kunne lave en bruger-konto (1A), der kan oprette nye bruger-konti. Men de brugerkonti som oprettes af bruger-konto (1A) må ikke kunne få højere rettigheder i systemet end 1A.
Avatar billede arne_v Ekspert
13. april 2005 - 11:07 #6
svar
Avatar billede arne_v Ekspert
13. april 2005 - 11:09 #7
Jeg kan ikke huske om man kan lave det på den mådei MySQL.

Jeg tror det ikke.

Men du vil altid kunne styre det via applikationen.
Avatar billede webcreator Nybegynder
13. april 2005 - 13:22 #8
Well, alternativt kan man jo lave en bruger, der har GRANT INSERT, UPDATE, DELETE, SELECT på user-tabellerne i MySQL databasen. Så kan man oprette brugerkonti manuelt. Dette kræver selvfølgelig at man holder tungen lige i munden - men det skulle være en acceptabel måde at gøre det på. Det gennemgås i hvertfald i MySQL manualen.
http://dev.mysql.com/doc/mysql/en/user-account-management.html

I øvrigt fandt jeg ud af, at vi kan tjekke brugernes rettigheder ved at give dem lov til at læse i tabellem mysql.tables_priv (GRANT SELECT ON mysql.tables_priv TO 'user'@'%')
Eneste ulempe er, at man i realiteten har lov til at se andres rettigheder. Men det skulle næppe udgøre den store risiko.
Det ville dog være rart, hvis man kunne skjule rækker i denne tabel, som ikke er relevant for den pågældende bruger.
Avatar billede webcreator Nybegynder
13. april 2005 - 13:23 #9
- Tak for hjælpen i øvrigt :)
Avatar billede arne_v Ekspert
13. april 2005 - 21:25 #10
SQLServer har iøvrigt en nyttig feature i forbindelse med stored procedures.

En stored procedure har adgang til tabellerne som database ejer d.v.s. man
kan grante brugere adgang til at køre bestemte stored procedures som gør noget
bestemt uden at brugeren har adgang til direkte at køre de SQL sætninger.

Meget praktisk. Og man kan da håbe at MySQL 5.0 som får stored procedures
lader sig inspirere.
Avatar billede webcreator Nybegynder
14. april 2005 - 15:40 #11
Ja, det lyder i sandhed lækkert. Ser i det hele taget frem til, at få prøvet MySQL 5.0 :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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