Ik ben bezig me te verdiepen in een wat meer hanteerbare methode om gegevens de DB in te slingeren er weer uit te halen met ASP.net/VB als Frontend. Ik stuitte daarbij op het gebruik van DALs en BLLs. Nu begrijp ik het opzetten van een DAL en BLL wel aardig op beginnersniveau, maar wat voor mij echt een raadsel is, dat is de beveiliging van de database.
De context:
In mijn vorige projectje (Classic ASP) riep ik stored procedures aan (wat een schrijfwerk!) en in de DB had ik een aantal roles welke dan weer al dan niet toegang hadden om iets toe te voegen/te bekijken/uit te voeren. Nu had ik maar twee roles (admin en users) dus dat was redelijk makkelijk. De users hadden op UI niveau alleen in beeld wat ze mochten doen en als admin(alleen ikzelf) kon ik het nodige corrigeren rechtstreeks in SQL server (Ik weet het behoorlijk quick & dirty).
Mijn probleem:
In mijn nieuwe projectje wordt het allemaal wat serieuzer met meerdere rollen en een complexere database en UI. Nu kan ik nog steeds allerlei rollen in SQL server aanmaken en deze al dan niet recht geven iets te doen, maar ik wil eigenlijk dat de frontend zich ook een beetje bewust is van wat de betreffende user mag of niet mag. Het lijkt me slordig om alleen de frontend te voorzien van een membership-systeem en vervolgens alleen van daaruit te bepalen wie wat mag op de DB en dan de DB "open" laten voor elk achterdeur misbruik wat je je maar kan voorstellen. Het misbruik zal overigens meevallen omdat het op het intranet draait en niet op internet. Nu heb ik al behoorlijk lang gezocht naar artikelen die iets beschrijven over membership in asp.net en de beveiliging van je database, maar ben helaas nog niets bruikbaars tegengekomen.
Wie helpt deze beginner op weg? Mijn dank is groot!
Ik gebruik overigens: Web developer 2005 express (VB.NET), SQL Server 2005 Express, .NET 2.0
De context:
In mijn vorige projectje (Classic ASP) riep ik stored procedures aan (wat een schrijfwerk!) en in de DB had ik een aantal roles welke dan weer al dan niet toegang hadden om iets toe te voegen/te bekijken/uit te voeren. Nu had ik maar twee roles (admin en users) dus dat was redelijk makkelijk. De users hadden op UI niveau alleen in beeld wat ze mochten doen en als admin(alleen ikzelf) kon ik het nodige corrigeren rechtstreeks in SQL server (Ik weet het behoorlijk quick & dirty).
Mijn probleem:
In mijn nieuwe projectje wordt het allemaal wat serieuzer met meerdere rollen en een complexere database en UI. Nu kan ik nog steeds allerlei rollen in SQL server aanmaken en deze al dan niet recht geven iets te doen, maar ik wil eigenlijk dat de frontend zich ook een beetje bewust is van wat de betreffende user mag of niet mag. Het lijkt me slordig om alleen de frontend te voorzien van een membership-systeem en vervolgens alleen van daaruit te bepalen wie wat mag op de DB en dan de DB "open" laten voor elk achterdeur misbruik wat je je maar kan voorstellen. Het misbruik zal overigens meevallen omdat het op het intranet draait en niet op internet. Nu heb ik al behoorlijk lang gezocht naar artikelen die iets beschrijven over membership in asp.net en de beveiliging van je database, maar ben helaas nog niets bruikbaars tegengekomen.
Wie helpt deze beginner op weg? Mijn dank is groot!
Ik gebruik overigens: Web developer 2005 express (VB.NET), SQL Server 2005 Express, .NET 2.0