Hi,
Wenn ich mittels
<img src="bild">
ein Bild in ein HTML-Dokument einbinde, als aktueller Benutzer aber keine Zugriffsrechte darauf habe, fragt IE wie FF erneut nach einem Login/Passwort.
Du redest als von HTTP Authentication?
Natuerlich muessen die Browser da "nachfragen" - es ist ja schliesslich noch gar nicht klar, ob der Benutzer Berechtigung zum Abruf dieser Ressource hat oder nicht.
Apache .httaccess mit
<FilesMatch ".(jpeg|jpg|png|gif)$">
ErrorDocument 404 /image/noAccess.png
</FilesMatch>hilft nicht weiter,
Natuerlich nicht. Zum ersten erst mal deshalb, weil der Statuscode 404 damit herzlich wenig zu tun hat. Kann der Benutzer keine gueltigen Credentials vorweisen, lautet die Antwort 401 Unauthorized.
der Login-Dialog kommt vor dem Ersetzen. Login-Dialog, Wegclicken, erst dann wird das Bild ersetzt.
Natuerlich, siehe oben. Bevor er nachfragt, kann der Client ja noch nicht wissen, ob der Benutzer berechtigt ist, die Ressource abzurufen. Erst wenn dieser durch "Wegklicken" der Zugangsdatenabfrage klar macht, dass er keine Zugangsdaten eingeben moechte, weiss der Client, dass er die gewuenschte Ressource vom Server nicht erhalten wird - und kann dann stattdessen ggf. die Bildressource ausgeben, die vom Server als Alternativinhalt mit der 401-Antwort geliefert wurde, bzw. einen "broken image"-Platzhalter anzeigen.
Geht so was dynamisch per Javascript? Zugriff testen, abhängig vom Ergebnis
Codesnippet1 oder Codesnippet2 einfügen?
Per JavaScript koenntest du zwar ggf. abfragen, ob eine Bildressource fehlerfrei geladen werden konnte - aber schon beim Versuch, diese vom Server anzufordern, wird wieder die Abfrage der Zugangsdaten kommen.
Abhängig von den Zugriffsrechten des aktuellen Betrachters auf /dir1/bild.png ohne das Anfordern weiterer Passwörter.
Sorge dafuer, dass die das Bild einbindende Ressource und die Bildressourcen innerhalb des gleichen Zugangsbereiches ("Realm") liegen - dann muss der Benutzer die Daten nur einmal eingeben, der Client "merkt" sie sich und schickt sie bei weiteren Anfragen nach Ressourcen aus dem gleichen Realm automatisch selber an den Server.
MfG ChrisB
„This is the author's opinion, not necessarily that of Starbucks.“