Ik heb het bij mijn applicatie opgelost met een INTEGER per recht in het gebruikers-record. Ik begrijp dat dat niet helemaal optimaal is en je eigenlijk met subtabellen zou moeten werken maar voor mij was dit voldoende.
Oplossen in de DB zelf heb ik speciaal niet gedaan omdat het nogal eens voorkomt, intern in mijn programma, dat bepaalde tabellen waartoe de gebruiker niet direct toegang hoeft te hebben, wel geraadpleegd dienen te worden door het programma zelf.
Overigens gebruik ik dus een INTEGER i.p.v. een BOOLEAN omdat ik naast wijzig rechten ook inkijkrechten wil toekennen.
0 = geen toegang, 1 = Volledige toegang en 2 = Alleen leestoegang.
De toegang zelf wordt dus in de applicatie geregeld.
SQL Code:
CREATE TABLE GEBRUIKER
(
LINKNUMMER D_LINKNUMMER,
VISIBLE D_BOOLEAN_T,
NUMMER INTEGER,
ZOEKNAAM D_STRING50,
NAAM D_STRING50,
/* etc, etc */
/* Administratie */
R_OFFERTE INTEGER DEFAULT 0 NOT NULL,
R_OFFTEKST INTEGER DEFAULT 0 NOT NULL,
R_OFFAANLEVER INTEGER DEFAULT 0 NOT NULL,
R_ORDER INTEGER DEFAULT 0 NOT NULL,
R_ORDTEKST INTEGER DEFAULT 0 NOT NULL,
R_ORDAANLEVER INTEGER DEFAULT 0 NOT NULL,
R_ORDAFLEVER INTEGER DEFAULT 0 NOT NULL,
R_FORMULIER INTEGER DEFAULT 0 NOT NULL,
/* etc, etc */
)^
Bookmarks