Frage

Wir versuchen, mit Security Resin 3.1.9 und führen Sie in das folgende Problem zu verwenden. CodeSource.getLocation () gibt für kompilierte JSPs null

Das bedeutet, dass wir nicht eine bestimmte Codebasis in der Finanzhilfeklausel in unserer Policy-Datei, zum Beispiel verwenden können:

grant codeBase "file:/path_to_resin/runtime/work/-" {
OR grant codeBase "file:/path_to_resin/webapp/JSP-source/-" {
  //...some jsp-specific permissions
};

Stattdessen müssen wir eine Universal-Zuschuss-Klausel:

grant  {
  //..some jsp-specific permissions. Unfortunately, these will be applied
  //to all code!!!
};

Gibt es eine Möglichkeit JSPs eine richtige CodeSource haben zu machen? Wir möchten, dass die Berechtigungen von Bibliotheken von Drittanbietern beschränken, sondern geben Berechtigungen für unsere eigene JSPs. Wenn wir nicht JSPs in der Policy-Datei angeben können, könnten wir nicht in der Lage sein, dies zu tun, oder was meinst du?

EDIT: Wir JSPs bereitstellen, wie sie ist, nicht neu kompiliert werden, so sie nicht. Das könnte etwas mit dem Problem zu tun.

War es hilfreich?

Lösung

Ich habe eine Antwort durch die Harz-Mailingliste und dachte, dass ich es hier posten zu:

Es scheint, dass Harz 3 einen Fehler mit diesem hat, und es gibt jetzt ein Problem für sie . Grundsätzlich ist die Art und Weise, dass wir versucht, sollte funktionieren, oder zumindest funktioniert es auf Resin 2. So sollte diese Arbeit:

grant codeBase "file:/path_to_resin/runtime/work/-" {
  //...some jsp-specific permissions
};

Die Entwickler führen für Resin sagte dazu: „Nun, der Sicherheitsmanager Leistung tötet, so dass wir es in der Regel entmutigen.“ Wir könnten dann prüfen, ob es sinnvoll ist Securitymanager überhaupt zu benutzen. Sehen Sie meine anderen Frage soll ich verwenden Security Manager in Java Web-Anwendungen? für weitere Diskussion über das Thema.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top