[ASP.NET] Authorisation web.config alternatief

Pagina: 1
Acties:

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Hallo,

Ik ben me behoorlijk aan het inlezen over ASP.NET 2.0 Security.
De vraag die eigenlijk nergens goed bentwoord wordt is hoe je je URL Authorisation bijvoorbeeld in een database kunt onderbrengen ipv de web.config.

Ik heb me ingelezen in de membership en role providers. Ook heb ik de SqlMemberschip provider succesvol gebruikt en alle user informatie wordt ook opgeslagen in mijn SQL db.

Omdat de website(s) straks gaan draaien in een gehoste omgeving zal de webadmin.axd niet beschikbaar zijn en zullen we dus zover ik begrepen heb zelf onderhouds pagina's moeten maken met de beschikbare API's. So far so good.

Wat ik echter niet helemaal begrijp is:

Als ik deze API's gebruik worden dan mijn settings met betrekking tot de URL's en resources die bijvoorbeeld authorisatie vereisen opgeslagen in de web.config?
Is dit niet op een generieke manier onder te brengen in een database (bijv.) of is de web.config de enige plek waar dit opgeslagen wordt?

User informatie etc. werkt allemaal prima via de Sqlmembership provider alleen het daadwerkelijke authoriseren is nog een beetje vaag. Ik hoop dat jullie me wat verder kunnen helpen.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14-02 12:34

gorgi_19

Kruimeltjes zijn weer op :9

Je wilt dus rechten van dynamische pagina's valideren? :? Je kan toch in code Context.Current.User.IsInRole gebruiken?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Wat ik wil is een generiek systeem maken waarin ik access rules op kan slaan gekoppeld aan roles.

De membership en role api begrijp ik en werkt prima icm een sql db.

Alleen is url authorisatie in ASP.NET 2.0 Volledig gebaseerd op regels die opgeslagen zijn in de web.config. Ik zoek daar een alternatief voor of ik zoek een API die mij zelf een onderhoudsscherm laat programmeren om deze access rules toe te voegen aan de web.config. Ik ga er namelijk vanuit dat de webadmin.axd die standaard in asp.net 2.0 zit niet beschikbaar zal zijn. Ook wil ik niet via de management console van IIS mijn authorisation instellen.

Het gaat dus om access rules op pagina/directory/resource niveau, en het liefst zonder web.config (dus db) of een API die mij deze regels in de web.config laat schrijven.

Het moet straks mogelijk zijn voor klanten om zelf te bepalen welke pagina's wel en niet beschikbaar zijn voor users/visitors/members etc.

[ Voor 8% gewijzigd door 4of9 op 02-11-2006 10:37 ]

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14-02 12:34

gorgi_19

Kruimeltjes zijn weer op :9

Maar nu geef je nog steeds geen antwoord waarom Context.Current.User.IsInRole niet bruikbaar is, al dan niet in combinatie met een HttpModule die de rechten gaat vergelijken.

[ Voor 29% gewijzigd door gorgi_19 op 02-11-2006 10:45 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Omdat dat geen antwoord op mijn vraag is :)

Ja ik zal de IsInRole gaan gebruiken om te gaan valideren. Ik heb beschreven dat de Membership API en Role API begrijp en ook werkt.

Alleen regelen deze API alleen de opslag van userinformatie en koppelen users aan roles.

Het is echter geen optie om op iedere pagina hard te gaan coderen welke role toegang heeft op de betreffende pagina, aangezien de pagina's dynamisch aangemaakt kunnen worden door een klant.

Ik zoek een manier om access rules op te slaan, wat nu in het ASP.NET 2.0 framework volledig gebaseerd is op de web.config.

Ik kan echter geen API vinden die het mogelijk maakt om deze access rules (op directory niveau of pagina niveau of zelfs resource niveau) vanuit een eigen gecreeerde pagina ergens op te slaan (bijvoorbeeld de web.config of bij voorkeur een database)

Waarom ik dit wil is omdat straks klanten dit zelf allemaal in moeten kunnen stellen, en niet de IIS MMC snap in beschikbaar is of de standaard webadmin die meegeleverd wordt met asp.net. Dit moet straks webbased gebeuren, en zelf gemaakt worden door ons.

Authenticatie is covered, dit begrijp ik prima, alleen de authorisatie in asp.net is een vaag iets (als je het blijkbaar anders wilt doen dan geimplementeerd door microsoft) vandaar deze vraag.

alvast bedankt voor je tijd!

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14-02 12:34

gorgi_19

Kruimeltjes zijn weer op :9

4of9 schreef op donderdag 02 november 2006 @ 11:05:
Omdat dat geen antwoord op mijn vraag is :)

Ja ik zal de IsInRole gaan gebruiken om te gaan valideren. Ik heb beschreven dat de Membership API en Role API begrijp en ook werkt.

Alleen regelen deze API alleen de opslag van userinformatie en koppelen users aan roles.

Het is echter geen optie om op iedere pagina hard te gaan coderen welke role toegang heeft op de betreffende pagina, aangezien de pagina's dynamisch aangemaakt kunnen worden door een klant.
Nee, en daar heb je dus de HttpModule voor :) Die haalt de betreffende URL uit de database (inclusief rollen die de pagina mogen bezoeken) en valideert of een rol een pagina mag bezoeken. Indien niet, redirect je hem naar een inlogpagina :) En alles wat langs de asp.net parser gaat, loopt ook langs de httpmodule :)
Ik zoek een manier om access rules op te slaan, wat nu in het ASP.NET 2.0 framework volledig gebaseerd is op de web.config.
Zie bovenstaand; haal ze gewoon in een module op uit de database. En ze zijn, iig in mijn applicatie, niet gebaseerd op de web.config.

[ Voor 3% gewijzigd door gorgi_19 op 02-11-2006 11:12 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Ja ik begreep dat het in een HTTPmodule moest gaan plaatsvinden.

Omdat de memberschip en role api zo uitgebreid is en bijna volledig geimplementeerd is en te customizen dacht ik dat er ook zo iets zo zijn voor de access rules.

Heb jij zelf database tabellen gecreerd waarin je de access rules opslaat? En onderhoud je deze via je eigengemaakte webpagina? Hoe beveilig je directories? Hoe beveilig je afzonderlijke files? Gebruik je de webadmin van asp.net zelf? gebruik je de IIS snap in?

een hoop vragen dus nog :)

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14-02 12:34

gorgi_19

Kruimeltjes zijn weer op :9

4of9 schreef op donderdag 02 november 2006 @ 11:17:
Omdat de memberschip en role api zo uitgebreid is en bijna volledig geimplementeerd is en te customizen dacht ik dat er ook zo iets zo zijn voor de access rules.
Klopt, maar het is een crime om er zelf eentje te maken; gebruik maken van een aangepaste is eenvoudiger:)
Heb jij zelf database tabellen gecreerd waarin je de access rules opslaat? En onderhoud je deze via je eigengemaakte webpagina?
Kijk eens naar bijvoorbeeld DotNetNuke; je kan daarin ook pagina's toevoegen en per pagina de permissies instellen :)
Hoe beveilig je directories? Hoe beveilig je afzonderlijke files?
Door die HttpModule :)
Gebruik je de webadmin van asp.net zelf? gebruik je de IIS snap in?
Nope :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • party42
  • Registratie: Oktober 2000
  • Laatst online: 13-02 15:56
volgens mij zou je richting AzMan willen.
Summary

This How To shows you how to use the Authorization Manager (AzMan) in conjunction with the ASP.NET role manager API to manage roles, check user role membership, and authorize roles to perform specific operations against an AzMan policy store. The How To also explains how to use Authorization Manager's authorization model of tasks and operations through the AzMan COM API.

The benefit of using AzMan is that it enables you to define operations, group them into tasks, and then authorize roles to perform specific tasks. It also provides an administrative console for managing roles, tasks, operations, and users.
hier meer info:
http://msdn.microsoft.com...pag2/html/paght000019.asp

Everyday's an endless stream, of cigarettes and magazines...


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Ik ga dat AzMan zeker eens bekijken maar ik betwijfel of we er iets aan hebben (het kan namelijk voorkomen dat websites niet door ons zelf gehost worden en we dus geen azman hebben)

Ik zal ook dotnet.nuke eens onder de loep nemen om te kijken hoe zij dat hebben gedaan.

dank je!

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...

Pagina: 1