[mysql + access] rechten op kolommen in access

Pagina: 1
Acties:

  • TXC
  • Registratie: Oktober 2002
  • Laatst online: 24-12-2025
Ik heb een mysql server met een database. In die database zitten velden (kolommen) die voor iedereen toegangkelijk moeten zijn en velden die privé voor enkele gebruikers zijn. Om dit voor elkaar te krijgen grant ik een mysql user met de naam "iedereen" rechten op maar 6 kolommen (want de mensen die "iedereen" als gebruiker gebruiken mogen maar 6 kolommen zien) met

code:
1
grant  select('kolom1','kolom2' etc.) on database to 'iedereen'@'%' identified by "wachtwoord";


Waarbij ik eerst alle rechten heb gerevoked zodat de gebruiker alleen deze rechten heeft. Uiteraard gevolgd door
code:
1
flush privileges


Nu wil ik alleen de kolommen waar gebruiker iedereen rechten op heeft koppelen naar MS Access via ODBC. Nu het probleem: Access pakt blijkbaar alle kolommen en als ik dan in de tabel kijk in Access staat er alleen #naam overal, en meldt access dat de velden die aan ID gekoppeld zijn niet geselecteerd kunnen worden (of iets in die strekking).

Dus ik dacht dat de gebruiker ook rechten moest hebben in de mysql tabel user (van de mysql database) om te selecteren. Dit heb ik dus ook gegeven (met een 'Y' bij select_priv) , maar nu kan de gebruiker weer alle kolommen met data zien in MS Access 8)7

Mijn vraag is dus hoe kan ik ervoor zorgen dat ik van een tabel 'slechts' enkele kolommen in Access kan krijgen? Ik gebruik Access 2000 met mysql-4.0.18-win.

[ Voor 4% gewijzigd door TXC op 17-08-2004 10:19 . Reden: typos ]


Verwijderd

Access houdt geen rekening met rechten die je ingesteld hebt in MySQL. Wat je misschien kunt proberen, is met query's beginnen te werken. Dus eerst een tabel bijmaken met de rechten per gebruiker. En via je programma of script een simpele SELECT van bepaalde tabellen.

Wel niet de meest elegante oplossing maar nood breekt wet (of zoiets..).

  • TXC
  • Registratie: Oktober 2002
  • Laatst online: 24-12-2025
Bedoel je dat ik metr de ODBC verbinding de GEHELE tabel moet koppelen, om dan met een query in Access de juiste gegevens te pakken? De reden dat ik MySQL gebruik is juist dat ik rechten op kolommen kan gebruiken in plaats van alleen op tabellen, dus dat is niet echt een oplossing voor mij (de beveiliging van de tabellen in Access vind ik nogal brak, en dat probeer ik op te lossen door MySQL als DBMS te gebruiken).

Anders moet ik de applicatie maar webbased maken met php als er geen andere oplossing is :/