[asp.net] Forms authentication, maar niet overal

Pagina: 1
Acties:

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
Mijn excuses voor deze waarschijnlijk simpele vraag, maar ik kon het niet zo makkelijk vinden op internet. Ik wil namelijk forms authentication gebruiken, maar niet voor iedere pagina. Ik wil dat alle pagina's in de root van de applicatie publiekelijk togankelijk zijn, zonder in te hoeven loggin. Terwijl alles wat in een /admin mapje staat, daarvoor moet je wel inloggen.

Ik heb al geprobeerd een web.config met de bekende authentiation tags aan dat mapje toe te voegen, maar dat slikt ie niet, omdat die tags op "MachineToApplication" niveau gedefinieerd mogen worden, en dus niet op folder-niveau. Dus wat nu?

日本!🎌


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Volgens mij zat je aardig in de buurt.
Je moet in je root de authentication tag wel gewoon op forms zetten. Je kan dan in je Authorization tag zetten dat iedereen toegang heeft en dan kan je in je admin mapje een web.config met een Authoriztion tag met alleen toegang voor bepaalde roles/users

Heb het trouwens niet getest maar ik dacht dat het zo werkt

[ Voor 10% gewijzigd door Woy op 05-11-2003 10:12 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:38
Je kan ook een location sectie in je web.config opnemen, waarmee je de authorization settings voor bepaalde pagina's overrided.
Dan kan je al je aspx pagina's in 1 map houden, en heb je maar 1 web.config.

Aangezien je echter al met een extra directory werkt, moet je in je web.config van je admin gedeelte enkel een authorization sectie hebben, en geen authentication sectie.
In de authorization sectie bepaal je dan -zoals rwb al eerder zei- wie er toegang heeft:
code:
1
2
3
4
5
6
7
<authorization>

  <allow users="whoami"/>
  <allow roles="admin"/>
  <deny users="*"/>  

</authorization>


Je moet wel goed beseffen dat de web.config in je admin mapje, alle settings van de web.config die in je app. root staat overerft, en dat je dus met de web.config in je admin map de settings van de web.config in je root kunt overriden.

[ Voor 66% gewijzigd door whoami op 05-11-2003 10:28 ]

https://fgheysels.github.io/


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 22-06 10:32

_Thanatos_

Ja, en kaal

Topicstarter
Ah kijk, het authorization-element mag je dus wel "beyond application level" overriden. Volgens mij is het opgelost met jouw oplossing, whoami. tnx :)

日本!🎌