0
habe ich versucht, mehrere Sicherheits Bereiche in meiner Anwendung zu haben, aber ich Ausnahme während des Einsatzes:Mehrere Sicherheits Realms
Nachricht: Multiple Login-config Elemente
web.xml Fragment entdeckt:
....
<security-constraint>
<display-name>Admin Constraint</display-name>
<web-resource-collection>
<web-resource-name>Admin Pages</web-resource-name>
<description/>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<description/>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>ApplicationRealm</realm-name>
</login-config>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>mb-domain</realm-name>
</login-config>
<security-role>
<description/>
<role-name>admin</role-name>
</security-role>
<security-role>
<description/>
<role-name>user</role-name>
</security-role>
...
Was mache ich falsch?
Abgesehen davon, dass dies eine Verletzung der Spezifikation ist, ist Ihr Anwendungsfall nicht klar. Warum würden Sie jemals mehrere Login-Konfigurationen benötigen? Wie würde der Container wissen, welche Login-Konfiguration er für die eingeschränkten URLs in der App verwenden soll? – CoolBeans
@CoolBeans "Warum würden Sie jemals mehrere Login-Konfigurationen benötigen?" - Viele Anwendungsfälle -> Erlauben Sie dem Benutzer, sich zu entscheiden, wie er sich anmeldet (loggen Sie sich einfach von dieser Website aus und sehen Sie sich die Login-Optionen an) oder verschiedene Authentifizierungsmechanismen für verschiedene Segmente der App. Und es gibt sogar den Anwendungsfall, einen automatischen Fallback zu haben (try token zuerst, wenn es den fallback zu Benutzername/Passwort transparent macht) –
@guest "Ich habe versucht, mehrere Sicherheitsbereiche zu haben" - Was Sie gezeigt haben sind * Authentifizierungsmechanismen * keine Realms . Realm als Begriff ist in Java EE etwas unbestimmt, er kann auch "Identitätsspeicher" bedeuten. –