Beste Tweakers,
Ik ben vandaag bezig gegaan met een SQL database. Ik heb een database gemaakt met daarop wat views en grants. Op het internet was hier veel informatie voor beschikbaar, maar nu wil ik het ook kunnen testen in een script die kijkt of dit werkt. En daar vind ik helaas niets over op het internet.
Daarmee bedoel ik dus een script die checkt of de juiste gebruiker is ingelogd, en zo ja of die inderdaad de views die hij mag zien, ook kan zien en die hij niet mag zien, niet ziet.
Mijn vraag aan jullie is dus hoe zou zo'n test script er ongeveer uit moeten zien? Ik hoop dat dit niet te lui klinkt, maar ik heb simpel weg niets gehad aan Google searches
Alvast bedankt!
Hieronder staan alle gegevens
ERD:
-- Vakkenpakket ( vakkenpakketnr, minaantpunt )
-- Vakken ( vaknr, naam, omschrijving, studiepunten, <vakkenpakketnr> )
-- Groepen ( groepnr, <vakkenpakketnr> )
-- Leerlingen ( leerling_userid, naam, adres, postcode, woonplaats, telefoonnr, mobielnr , email ,<groepnr>)
-- Docenten ( docent_userid, naam, adres, postcode, woonplaats, telefoonnr, mobielnr , email ,<vaknr>)
-- Rooster ( roosterid, <groepnr>,<vaknr>,<docent_userid>, datum, tijd, lokaal )
-- Cijfers ( cijferid, <vaknr>,<leerling_userid>, cijfer )
-- Absentie ( absentienr, <leerling_userid>,<docent_userid>, datum)
Views
Grants:
Ik ben vandaag bezig gegaan met een SQL database. Ik heb een database gemaakt met daarop wat views en grants. Op het internet was hier veel informatie voor beschikbaar, maar nu wil ik het ook kunnen testen in een script die kijkt of dit werkt. En daar vind ik helaas niets over op het internet.
Daarmee bedoel ik dus een script die checkt of de juiste gebruiker is ingelogd, en zo ja of die inderdaad de views die hij mag zien, ook kan zien en die hij niet mag zien, niet ziet.
Mijn vraag aan jullie is dus hoe zou zo'n test script er ongeveer uit moeten zien? Ik hoop dat dit niet te lui klinkt, maar ik heb simpel weg niets gehad aan Google searches
Alvast bedankt!
Hieronder staan alle gegevens
ERD:
-- Vakkenpakket ( vakkenpakketnr, minaantpunt )
-- Vakken ( vaknr, naam, omschrijving, studiepunten, <vakkenpakketnr> )
-- Groepen ( groepnr, <vakkenpakketnr> )
-- Leerlingen ( leerling_userid, naam, adres, postcode, woonplaats, telefoonnr, mobielnr , email ,<groepnr>)
-- Docenten ( docent_userid, naam, adres, postcode, woonplaats, telefoonnr, mobielnr , email ,<vaknr>)
-- Rooster ( roosterid, <groepnr>,<vaknr>,<docent_userid>, datum, tijd, lokaal )
-- Cijfers ( cijferid, <vaknr>,<leerling_userid>, cijfer )
-- Absentie ( absentienr, <leerling_userid>,<docent_userid>, datum)
Views
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| select LEERLING_USERID, lrl.naam, lrl.adres, lrl.postcode, lrl.woonplaats, lrl.woonplaats, lrl.telefoonnr, lrl.mobielnr, lrl.email, grp.naam as groep, vpk.naam as opleiding from leerlingen lrl, vakkenpakket vpk, groepen grp where grp.vakkenpakketnr = vpk.vakkenpakketnr and lrl.groepnr = grp.groepnr and leerling_userid = USER; --view van cijfers van leerlingen create view Cijferlijst as select cijfers.cijfer, vakken.naam from Cijfers, Vakken where Cijfers.vaknr = Vakken.vaknr and Leerlingen.leerling_userid = USER; --view van rooster van leerlingen create view Rooster as select datum, tijd, lokaal, Leerlingen.groepnr, Docenten.naam from Docenten, Roosters, Leerlingen, Groepen where Docenten.docent_userid = Roosters.docent_userid and Leerlingen.groepnr = Groepen.groepnr and Groepen.groepnr = Roosters.groepnr and Leerlingen.leerling_userid = USER; |
Grants:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
| --Grants voor de leerlingen op de views GRANT SELECT ON Leerling_gegevens TO Leerling; GRANT SELECT ON Docenten_overzicht TO Leerling; GRANT SELECT ON Cijferlijst TO Leerling; GRANT SELECT ON Rooster TO Leerling; --Grants voor de administratie op alle tabellen behalve de cijfers GRANT ALL PRIVILEGES ON Vakken TO Administratie; GRANT ALL PRIVILEGES ON Vakkenpakket TO Administratie; GRANT ALL PRIVILEGES ON Groepen TO Administratie; GRANT ALL PRIVILEGES ON Leerlingen TO Administratie; GRANT ALL PRIVILEGES ON Docenten TO Administratie; GRANT ALL PRIVILEGES ON Rooster TO Administratie; GRANT ALL PRIVILEGES ON Absentie TO Administratie; --grants voor de docenten grant insert, select, update, delete on Cijfers to Docent grant select on leerlingen, (view rooster) to Docent grant insert, select on absentie to Docent |