2009-05-05 6 views

Antwort

2

Erstellen Sie eine Klasse, die javax.servlet.Filter implementiert. Siehe The Essentials of Filters

Die Hauptmethode ist doFilter, die die Objekte ServletRequest, ServletResponse und FilterChain übergeben wird. Dort erzwingen Sie die Authentifizierung.

Dann wird Ihr Filter in web.xml deklariert und ein Filter-Mapping wie folgt (Karten zu jeder Anfrage)

<filter> 
      <filter-name>Authentication Filter</filter-name> 
      <filter-class> 
        com.nfsdsystems.security.filters.AuthenticationFilter</filter-class> 
    </filter> 
    <filter-mapping> 
      <filter-name>Authentication Filter</filter-name> 
      <url-pattern>/*</url-pattern> 
    </filter-mapping> 
+0

Das funktioniert gut für mich. Ich habe meinen eigenen Filter geschrieben. – Mnementh

3

Setzen Sie Ihre statische HTML-Dateien in einem direcotry und definieren Sie Ihre Sicherheitseinschränkungen in Ihrem web.xml. Ordnen Sie die Abhängigkeiten der entsprechenden Rolle zu.

<security-constraint> 
     <display-name>securedResources</display-name> 
     <web-resource-collection> 
      <web-resource-name>securedRes</web-resource-name> 
      <url-pattern>/secured/*</url-pattern> 
      <http-method>GET</http-method> 
      <http-method>PUT</http-method> 
      <http-method>HEAD</http-method> 
      <http-method>TRACE</http-method> 
      <http-method>POST</http-method> 
      <http-method>DELETE</http-method> 
      <http-method>OPTIONS</http-method> 
     </web-resource-collection> 
     <auth-constraint> 
      <description> 
      authenticatedUser_securedRes</description> 
      <role-name>authenticatedUsed</role-name> 
     </auth-constraint> 
    </security-constraint> 
+0

Das wäre in der Tat der bevorzugte Weg, es mit Realms zu machen. – Nathan

+0

Wie kann ich die Benutzernamen/Passwörter auf diese Weise definieren? – Mnementh

+0

Es hängt von dem App-Server ab, den Sie verwenden. Für Tomcat, google "jdbc Realm-Konfiguration". Für Websphere wäre der bevorzugte Weg ldap. – svachon

Verwandte Themen