[C# / .NET / WinForms] RBAC zonder WindowsIdentity

Pagina: 1
Acties:

Onderwerpen


  • Crazybyte
  • Registratie: Juli 2002
  • Laatst online: 15-09 10:07
Ik wil graag een RBAC implementatie doen bij het programma dat ik aan 't schrijven ben. Sommige onderdelen mogen wel toegankelijk zijn voor bepaalde users, andere niet. Bijvoorbeeld een admin kan wel nieuwe data importeren vanaf een CSV-bestand, maar een gewone user niet.

Op zich is hier genoeg over te vinden, alleen zo'n beetje alles dat ik tegen kom gaat over een RBAC-implementatie voor ASP.NET en niet in WindowsForms. Wat ik dan weer wel tegenkom over WindowsForms heeft dan weer betrekking op de actieve Windows user met behulp van WindowsIdentity.

Ik wil gewoon mijn eigen users aanmaken, bepaalde functionaliteit aan rechten koppelen en dan ergens vastleggen welke users welke rechten hebben of in welke groep ze zitten en in dat geval welke rechten de groep heeft.

Wat ik tegenkom waarbij gebruik gemaakt wordt van System.Security.Principal, System.Security.Permissions en System.Web.Security, lijkt op zich wel aardig dat te zijn wat ik wens, maar dan niet op basis van de Windows users, maar de user die zich aangemeld heeft in het programma.

Kan iemand mij een eindje in de goede richting helpen met de juiste informatie?

  • Jeroen V
  • Registratie: Februari 2004
  • Laatst online: 16-09 21:23

Jeroen V

yadda yadda yadda

Kijk anders eens naar de EntLib, daar zit genoeg in wat je zou kunnen gebruiken. (zoek maar eens op AzMan)

  • Xiphalon
  • Registratie: Juni 2001
  • Laatst online: 12:16
Is het niet zo dat je met AzMan lastig eigen gebruikers aan kan maken? Omdat je een eigen AD of ADAM (of hoe dat tegenwoordig ook mag heten) instantie nodig hebt?

  • Crazybyte
  • Registratie: Juli 2002
  • Laatst online: 15-09 10:07
darkmage schreef op donderdag 17 september 2009 @ 11:06:
Is het niet zo dat je met AzMan lastig eigen gebruikers aan kan maken? Omdat je een eigen AD of ADAM (of hoe dat tegenwoordig ook mag heten) instantie nodig hebt?
Microsoft geeft aan dat het kan met XML files, AD DS, AD LDS of Microsoft SQL Server (vanaf Windows Vista en Windows Server 2008). Met XML-files zou dan eventueel een optie kunnen zijn.
Jeroen V schreef op donderdag 17 september 2009 @ 10:43:
Kijk anders eens naar de EntLib, daar zit genoeg in wat je zou kunnen gebruiken. (zoek maar eens op AzMan)
Dat heb ik inmiddels dus gedaan, moet er nog wel nog meer naar kijken, maar krijg het idee dat ik een andere applicatie nodig heb om dit te regelen en dat is niet echt wat ik wil. Dat wil ik gewoon in mijn eigen applicatie doen.

Edit:
Ik ben er inmiddels achter gekomen dat er iets is zoals GenericIdentity, die hoeft niet gebaseerd te zijn op een Windows gebruiker, maar die kan ik ook zelf creëren na een correcte inlog. Samen met GenericIdentity geeft het ook nog een GenericPrincipal.

Als ik 't dan goed voor ogen heb zou het volgende moeten werken:
- Bepaald bij een method welk recht je deze wil geven en sla deze rechten allemaal ergens op (tabel, file, etc).
- Deze rechten kunnen dan toegekend worden aan een gebruiker en/of meerdere groep.
- Deze groep kan dan ook weer toegekend worden aan de gebruiker.
- Zorg er na een geldige inlog voor dat je alle rechten ophaalt en deze in een string array zet en geef deze mee als roles.

Kan dat een beetje kloppen?

[ Voor 28% gewijzigd door Crazybyte op 17-09-2009 16:56 . Reden: Update ]