2016-03-31 9 views
1

Ich habe 2 Rollen.Sicherheitsbeschränkung für Benutzer mit mehreren Rollen deklarieren, einschließlich

Eine ist admin Rolle, die alle Seiten sehen kann.

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Admin Pages</web-resource-name> 
     <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>admin</role-name> 
    </auth-constraint> 
</security-constraint> 

Andere ist it Rolle, die IT-Seiten sehen kann.

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>IT Pages</web-resource-name> 
     <url-pattern>/it/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>it</role-name> 
    </auth-constraint> 
</security-constraint> 

Hier habe ich eine Seite, dass admin und it müssen Zugang, aber nur für den Fall der Benutzer beide Rollen admin und it und nicht nur einer von ihnen.

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Admin and it Pages</web-resource-name> 
     <url-pattern>/other/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>admin</role-name> 
     <role-name>it</role-name> 
    </auth-constraint> 
</security-constraint> 

Aber das tatsächliche Verhalten der früheren <security-constraint> ist, dass adminoderit Rolle auf diese Seite zugreifen können.

Wie kann ich, dass Benutzer anwenden erreichen zu müssen adminundit, um die 2 Rollen deklariert werden auf diese Seite zuzugreifen und nicht nur einer von ihnen?

Antwort

3

Dies ist nicht möglich. Rollen funktionieren nicht so. Sie scheinen die Bedeutung von Rollen rückwärts zu haben. Es ist vielleicht einfacher, Rollen als Berechtigungen zu betrachten.

Erstellen Sie einfach eine neue Rolle.

+0

Ich weiß, dass es nur eine neue Rolle erstellen, aber ich versuche zu sehen, ob diese Sache in web.xml angewendet werden kann –

Verwandte Themen