2010-11-24 4 views
1

Wie this fellow here versuche ich eine Tomcat-Anwendung auf WebLogic zu portieren.WebLogic einfacher Bereich (wie tomcat-users.xml)

Ich habe ein paar Ressourcen durch Sicherheitsregeln in web.xml geschützt. Anstelle von BASIC verwende ich FORM-Authentifizierung, aber das sollte irrelevant sein.

In Tomcat ist es sehr einfach, einen einfachen Sicherheitsbereich einzurichten, indem Sie conf/tomcat-users.xml bearbeiten.

Wie richte ich in Weblogic einen einfachen Sicherheitsbereich ein? Alles, was ich will, ist, dass der Benutzer seinen Benutzernamen und sein Passwort eingibt und ihn vom Container authentifizieren lässt.

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>basic-auth security</web-resource-name> 
     <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>HELLO_USER</role-name> 
    </auth-constraint> 
    <user-data-constraint>NONE</user-data-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>FORM</auth-method> 
    <realm-name>somerealm</realm-name> 
    <form-login-config> 
     <form-login-page>login.jsp</form-login-page> 
     <form-error-page>error.jsp</form-error-page> 
    </form-login-config> 
</login-config> 
<security-role> 
    <role-name>HELLO_USER</role-name> 
</security-role> 

Antwort

1

Es gibt einen Standard-Weblogic-Bereich namens "myrealm". Erstellen Sie die Benutzer dort mit der Weblogic-Webkonsole. Erstellen Sie auch eine Gruppe (d. H. HALLO_GROUP) und weisen Sie Ihre Benutzer dieser Gruppe zu.

eine weblogic.xml Datei erstellen und die HELLO_USER Rolle auf die HELLO_GROUP Karte mit einer Struktur wie:

<weblogic-web-app> 
... 
<security-role-assignment> 
<role-name>HELLO_USER</role-name> 
<principal-name>HELLO_GROUP</principal-name> 
</security-role-assignment> 
... 
</weblogic-web-app> 
+0

Außerdem ist es nicht sofort offensichtlich, aber WebLogic hat eine Standard-Gruppe mit dem Namen „Benutzer“, die alle Benutzer gehören standardmäßig. Es erscheint nicht in der Admin-Konsole und es ist schwierig in der Dokumentation zu finden, aber es ist da. Wenn Sie den Zugriff auf einen authentifizierten Benutzer beschränken möchten, können Sie eine Sicherheitsrolle erstellen und diese der Gruppe "Benutzer" zuordnen. Auf diese Weise müssen Sie nicht alle Benutzer manuell zu einer Gruppe hinzufügen, die Sie nur für diesen Zweck definieren. –