hallo,
ich versuche seit langen die rollen für meine anwendung definieren.
ich habe folgendes gemacht
- in tomcat conf. in in server.xml
<Context docBase="ma" path="/ma" reloadable="true" source="org.eclipse.jst.jee.server:ma">
<Realm className="org.apache.catalina.realm.JDBCRealm"
connectionName="postgres" connectionPassword="555"
connectionURL="jdbcostgresql://localhost:5432/ernportal" driverName="org.postgresql.Driver"
roleNameCol="rolle" userCredCol="passwort" userNameCol="loginname"
userRoleTable="kunde" userTable="kunde" />
</Context>
dann habe ich in tomcat-users.xml rollen hinzugefügt:
<role rolename="kunde"/>
<role rolename="admin"/>
<user username="admin" password="passwort" roles="admin"/>
<user username="test" password="aaa" roles="kunde"/>
in web.xml meiner anwendung
<auth-method>BASIC</auth-method>
</login-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>BenutzerAnlegen</web-resource-name>
<url-pattern>/NeuerBenutzer*</url-pattern>
<http-method>GET </http-method>
<http-method>POST </http-method>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
<role-name>kunde</role-name>
</auth-constraint>
</security-constraint>
<!-- Security roles referenced by this web application -->
<security-role>
<role-name>admin</role-name>
</security-role>
nach dem einloggen versuche ich zu prüfen, ob ich als kunde erkannt bin
<% if (request.isUserInRole("kunde"))
System.out.println("Sehr geehrter" + request.getRemoteUser());
else
System.out.println("Sehr geehrter Gast"); %>
aber ich bin immer nur gast.
kann mir jemand sagen, was und wo ich noch anpassen soll, damit alles endlich mal funktioniert
ich versuche seit langen die rollen für meine anwendung definieren.
ich habe folgendes gemacht
- in tomcat conf. in in server.xml
<Context docBase="ma" path="/ma" reloadable="true" source="org.eclipse.jst.jee.server:ma">
<Realm className="org.apache.catalina.realm.JDBCRealm"
connectionName="postgres" connectionPassword="555"
connectionURL="jdbcostgresql://localhost:5432/ernportal" driverName="org.postgresql.Driver"
roleNameCol="rolle" userCredCol="passwort" userNameCol="loginname"
userRoleTable="kunde" userTable="kunde" />
</Context>
dann habe ich in tomcat-users.xml rollen hinzugefügt:
<role rolename="kunde"/>
<role rolename="admin"/>
<user username="admin" password="passwort" roles="admin"/>
<user username="test" password="aaa" roles="kunde"/>
in web.xml meiner anwendung
<auth-method>BASIC</auth-method>
</login-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>BenutzerAnlegen</web-resource-name>
<url-pattern>/NeuerBenutzer*</url-pattern>
<http-method>GET </http-method>
<http-method>POST </http-method>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
<role-name>kunde</role-name>
</auth-constraint>
</security-constraint>
<!-- Security roles referenced by this web application -->
<security-role>
<role-name>admin</role-name>
</security-role>
nach dem einloggen versuche ich zu prüfen, ob ich als kunde erkannt bin
<% if (request.isUserInRole("kunde"))
System.out.println("Sehr geehrter" + request.getRemoteUser());
else
System.out.println("Sehr geehrter Gast"); %>
aber ich bin immer nur gast.
kann mir jemand sagen, was und wo ich noch anpassen soll, damit alles endlich mal funktioniert