Ich habe zwei Rollen definiert - Benutzerurl-Muster für sicherheits Einschränkung nicht funktioniert
<security-role>
<role-name>User</role-name>
</security-role>
und Administrator
<security-role>
<role-name>Admin</role-name>
</security-role>
in meiner web.xml.
Problem 1 -
Ich möchte die Anwendung von anderen Nutzern nur zugegriffen werden, wenn sie eine dieser beiden Rollen haben (es können mehrere Rollen werden in der Zukunft hinzugefügt, so habe ich keine * Rolle Muster verwendet)
<security-constraint id ="FullAccess">
<web-resource-collection>
<web-resource-name>CPDC Application</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Admin</role-name>
<role-name>User</role-name>
</auth-constraint>
</security-constraint>
Dies funktioniert nicht, wenn zwei Rollen vorhanden sind. Wenn Sie eine der Rollen entfernen, funktioniert sie wie erwartet. Was ist, wenn zwei Rollen Zugriff auf diese Ressource haben sollen?
Problem 2 -
Nun möchte ich auch nur Benutzer mit Admin-Rolle der Lage sein, alle Ressourcen zugreifen unten von adminresource/
<security-constraint id="AdminAccess">
<web-resource-collection>
<web-resource-name>Admin resources</web-resource-name>
<url-pattern>/appname/servlet.svc/adminresource/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Admin</role-name>
</auth-constraint>
</security-constraint>
Diese Einschränkung funktioniert nicht, und selbst jemand mit Eine Benutzerrolle kann auf URLs des Formulars zugreifen https://localhost:8080/appname/servlet.svc/adminresrouce/test
Könnte jemand bitte helfen?
Ist 'appname' das Kontextstammverzeichnis Ihrer Anwendung? Wenn ja, gehört es nicht in das 'url-Muster' –
Sieht aus wie das war das Problem. Könnten Sie es als Antwort posten? – SeeObjective