[java/xml] authorizatie via de web deployment descriptor

Pagina: 1
Acties:

  • Johnny
  • Registratie: December 2001
  • Laatst online: 22-05 10:01

Johnny

ondergewaardeerde internetguru

Topicstarter
Ik ben bezig met het instellen van de web deployment descriptor (web.xml) voor Java web applicaties wat te vergelijken is met een .htaccess op Apache.

Ik wil twee servlets beveiligen via BASIC authenticatie, gewoon dat standaard gedoe wat in HTTP/1.1 zit. Als applicatieserver gebruik ik Tomcat 5 op localhost.

Het XML bestand valideert tegen de DTD, Tomcat leest het ook zonder foutmeldingen of waarschuwingen.

De authorizatie-popup verschijnt, als ik een foute gebruikersnaam en wachtwoord invul mag ik het opnieuw proberen, als ik een goede invul krijg ik een 403 error (unauthorized), wat dus niet de bedoeling is.

Als ik de <url-pattern> waarde verander naar iets dat niet bestaat wordt het servlet niet beveiligd, en is het wel gewoon toegankelijk (code 200: OK).

Het instellen van een eigen error-page wordt ook genegeerd.

Mijn web.xml

Hoe zorg ik er voor dat hij het wel doet?

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Verwijderd

De authorizatie-popup verschijnt, als ik een foute gebruikersnaam en wachtwoord invul mag ik het opnieuw proberen, als ik een goede invul krijg ik een 403 error (unauthorized), wat dus niet de bedoeling is.
Dit zou betekenen dat de gebruiker niet de rol is toegekend die nodig is om de pagina op te vragen. Dus gebruikersnaam en wachtwoord zijn goedgekeurd, maar de rol is niet aanwezig bij de gebruiker.
Als ik de <url-pattern> waarde verander naar iets dat niet bestaat wordt het servlet niet beveiligd, en is het wel gewoon toegankelijk (code 200: OK).
Klinkt logisch
Het instellen van een eigen error-page wordt ook genegeerd.
Je hebt een errorpage ingesteld voor foutcode 404, de fout is 403 UnAuthorized.
Hoe zorg ik er voor dat hij het wel doet?
Misschien helpt dit :)

Silvester

  • Johnny
  • Registratie: December 2001
  • Laatst online: 22-05 10:01

Johnny

ondergewaardeerde internetguru

Topicstarter
Verwijderd schreef op 24 juli 2004 @ 13:54:
[...]

Dit zou betekenen dat de gebruiker niet de rol is toegekend die nodig is om de pagina op te vragen. Dus gebruikersnaam en wachtwoord zijn goedgekeurd, maar de rol is niet aanwezig bij de gebruiker.
Dat is wel het geval, ik heb iedere gebruiker al een admin-role gegeven, maar het werkt niet.
Je hebt een errorpage ingesteld voor foutcode 404, de fout is 403 UnAuthorized.
Dat is natuurlijk voor 404 errors 8)7


Ik heb inmiddels uitgevonden dat de standaard authentication voorbeeld-servlets die worden meegeleverd ook niet werken, ik heb ergens gelezen dat het aan de versie zou kunnen liggen, dus heb ik versie 4 gedownload, maar daar zit hetzelfde probleem.

Ik heb alle instructies in de documentatie van tomcat opgevolgd, maar zelfs die kunnen niet kloppen omdat daar een voorbeeld van de tomcat-users.xml staat waarbij de gebruikersnaam in een name attribuut staat, maar Tomcat het zelf terugveranderd naar username 8)7

Op internet kan ik wel enkel everhalen vidnen van mensen met soortgelijke problemen, maar dat is in Tomcat versie 3, met Windows IIS, die ik naar mijn weten niet gebruik.

Ik raak hier echt behoorlijk gefrustreerd door...

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Verwijderd

en als je even deployed onder Jetty bijvoorbeeld?
Heb je een realm ingesteld? (filerealm, ldaprealm, jdbcrealm, ...?)
Wordt de servlet gevonden als je de security af die servlet haalt?

Verwijderd

Hmm, klinkt toch alsof de rollen niet goed aangemaakt worden. Ik heb even de users file van mijn tomcat erbij gepakt (versie 5) en daar staan gebruikers en rollen zo gedefinieerd:

code:
1
2
3
4
5
  <tomcat-users>
    <role rolename="admin"/>

    <user username="gebruiker" password="dummy" roles="admin"/>
  </tomcat-users>


Zit hier misschien jouw probleem in?

Silvester