Gainwar
Erfahrenes Mitglied
Guten Tag,
ich beschreib euch direkt mal mein Problem.
Ich arbeite mit dem Tomcat 5 Application Server der standartmäßig seine Userdatabase für die Authentifizierung benutzt. Ich habe nun bereits alles umgestellt damit er meine eigen definierte ( per <Realm> Tag ) Userdatabase benutzt. Meine Klasse ist von der "JDBCRealm" Klasse abgeleitet und fügt nur einige Tabellen und Column names hinzu welche ich für die Container Authentifizierung benötige.
Hier mal ein Beispiel wie es mit der "JDBCRealm" Klasse ungefähr aussehen würde:
Für meine Zwecke ist dies nicht genug, da ich über mehrere Tabellen und Spalten sehen muss. Bisher sind diese fest im Code eingebettet, was nicht gerade schön ist.
Daher hab ich eine "mbeans-descriptor.xml" mit in mein package gelegt welche er ja eigentlich automatisch nehmen sollte. Wenn ich nun allerdings meine Realm Klasse mit den erweiterten Attributen eintrage kennt ihr diesen nicht und benutzt die "mbeans-descriptor.xml" der JDBCRealm Klasse, von der ich ableite.
Abgelegt hab ich meine .jar Datei im Verzeichnis - ${TOMCAT_ROOT}/server/lib/
Hier noch meine geschriebene "mbeans-descriptor.xml"
Vielen Dank
Gruß Manuel
ich beschreib euch direkt mal mein Problem.
Ich arbeite mit dem Tomcat 5 Application Server der standartmäßig seine Userdatabase für die Authentifizierung benutzt. Ich habe nun bereits alles umgestellt damit er meine eigen definierte ( per <Realm> Tag ) Userdatabase benutzt. Meine Klasse ist von der "JDBCRealm" Klasse abgeleitet und fügt nur einige Tabellen und Column names hinzu welche ich für die Container Authentifizierung benötige.
Hier mal ein Beispiel wie es mit der "JDBCRealm" Klasse ungefähr aussehen würde:
Code:
<Realm className="de.cadenas.auth.CadenasJDBCRealm"
connectionName="PARTcms"
connectionPassword="PARTcms"
connectionURL="jdbc:jtds:sqlserver://cprog028.cadenas:1433/PARTemployees"
driverName="net.sourceforge.jtds.jdbc.Driver"
userTable="dbTable"
userNameCol="user_name"/>
Für meine Zwecke ist dies nicht genug, da ich über mehrere Tabellen und Spalten sehen muss. Bisher sind diese fest im Code eingebettet, was nicht gerade schön ist.
Daher hab ich eine "mbeans-descriptor.xml" mit in mein package gelegt welche er ja eigentlich automatisch nehmen sollte. Wenn ich nun allerdings meine Realm Klasse mit den erweiterten Attributen eintrage kennt ihr diesen nicht und benutzt die "mbeans-descriptor.xml" der JDBCRealm Klasse, von der ich ableite.
Abgelegt hab ich meine .jar Datei im Verzeichnis - ${TOMCAT_ROOT}/server/lib/
Hier noch meine geschriebene "mbeans-descriptor.xml"
Code:
<?xml version="1.0"?>
<mbeans-descriptors>
<mbean name="CadenasJDBCRealm"
className="org.apache.catalina.mbeans.ClassNameMBean"
description="Custom JDBCRealm"
domain="Catalina"
group="Realm"
type="de.cadenas.auth.CadenasJDBCRealm">
<attribute name="className"
description="Fully qualified class name of the managed object"
type="java.lang.String"
writeable="false"/>
<attribute name="connectionName"
description="The connection username to use when trying to connect to
the database"
type="java.lang.String"/>
<attribute name="connectionPassword"
description="The connection URL to use when trying to connect to the
database"
type="java.lang.String"/>
<attribute name="connectionURL"
description="The connection URL to use when trying to connect to the
database"
type="java.lang.String"/>
<attribute name="digest"
description="Digest algorithm used in storing passwords in a
non-plaintext format"
type="java.lang.String"/>
<attribute name="driverName"
description="The JDBC driver to use"
type="java.lang.String"/>
<attribute name="userTable"
description="desc"
type="java.lang.String"/>
<attribute name="userUserIdCol"
description="desc"
type="java.lang.String"/>
<attribute name="userCredCol"
description="desc"
type="java.lang.String"/>
<attribute name="roleTable"
description="desc"
type="java.lang.String"/>
<attribute name="roleUserIdCol"
description="desc"
type="java.lang.String"/>
<attribute name="roleNameCol"
description="desc"
type="java.lang.String"/>
<attribute name="usernameTable"
description="desc"
type="java.lang.String"/>
<attribute name="usernameUserIdCol"
description="desc"
type="java.lang.String"/>
<attribute name="usernameNameCol"
description="desc"
type="java.lang.String"/>
<operation name="start" description="Start" impact="ACTION" returnType="void" />
<operation name="stop" description="Stop" impact="ACTION" returnType="void" />
<operation name="init" description="Init" impact="ACTION" returnType="void" />
<operation name="destroy" description="Destroy" impact="ACTION" returnType="void" />
</mbean>
</mbeans-descriptors>
Vielen Dank
Gruß Manuel