[solved] CustomerAuth v. ext. DB - begrenzen?

Hilfe zu OTRS Problemen aller Art
steste123
OTRS ninja
Posts: 494
Joined: 25 Sep 2012, 19:04
OTRS Version?: OTRS Help Desk
Real Name: Stefan

[solved] CustomerAuth v. ext. DB - begrenzen?

Postby steste123 » 18 Oct 2017, 08:19

Hallo zusammen,
ist es möglich den CustomerAuth auf User zu begrenzen die einen bestimmten Wert haben?
Bspw. WHERE disabled = 0 ?

Grund ist, dass ich mehrere Datenbanken synchronisiere für die CustomerUser - aber nur eine Masterdatenbank für den Auth. Dort wird gepflegt ob ein User enabled oder disabled ist.

Code: Select all

# This is the auth. module against the external db
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::DB';
$Self->{'Customer::AuthModule::DB::Table'} = 'com_users';
$Self->{'Customer::AuthModule::DB::CustomerKey'} = 'ABC';
$Self->{'Customer::AuthModule::DB::CustomerPassword'} = 'DEF';
$Self->{'Customer::AuthModule::DB::DSN'} = "DBI:mysql:database=XYZ;host=XYZ";
$Self->{'Customer::AuthModule::DB::User'} = "XYZ";
$Self->{'Customer::AuthModule::DB::Password'} = "XYZ";
Last edited by steste123 on 18 Oct 2017, 15:20, edited 1 time in total.
OTRS 5.x - Debian 8 - apache 2.4 - MySQL 5.x

root
Moderator
Posts: 970
Joined: 18 Dec 2007, 12:23
OTRS Version?: 5.0.x
Real Name: Roy Kaldung
Company: Znuny Inc.
Contact:

Re: CustomerAuth v. ext. DB - begrenzen?

Postby root » 18 Oct 2017, 10:34

Hi,

in der Standardtabelle customer_user wertet OTRS die Spalte valid_id aus (Wert siehe Tabelle valid):

Lt https://github.com/OTRS/otrs/blob/rel-5 ... s.pm#L1472 würde ich sagen man kann den Spaltennamen anpassen, was die Werte angeht kann ich nichts sagen ohne in den Code zu sehen. Aber mit den Werten 1, 2 oder 3 sollte es passen.

- Roy
OTRS 4 /5 CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

You need professional services? Check out http://znuny.com/

steste123
OTRS ninja
Posts: 494
Joined: 25 Sep 2012, 19:04
OTRS Version?: OTRS Help Desk
Real Name: Stefan

Re: CustomerAuth v. ext. DB - begrenzen?

Postby steste123 » 18 Oct 2017, 10:43

Japp in dem Benutzersync ist es bereits mit active verbaut und alles gut.
Aber - unseren Datenbankstruktur ist wie folgt - das müsste ich im Auth berücksichtigen:

Benutzer darf sich einloggen wenn "active" = 1 und "disabled" = 0

(auf die Struktur habe ich keinen Einfluss)

Die Frage ist also ob man den Auth dahingehend abändern kann.
OTRS 5.x - Debian 8 - apache 2.4 - MySQL 5.x

root
Moderator
Posts: 970
Joined: 18 Dec 2007, 12:23
OTRS Version?: 5.0.x
Real Name: Roy Kaldung
Company: Znuny Inc.
Contact:

Re: CustomerAuth v. ext. DB - begrenzen?

Postby root » 18 Oct 2017, 11:25

steste123 wrote:Japp in dem Benutzersync ist es bereits mit active verbaut und alles gut.
Aber - unseren Datenbankstruktur ist wie folgt - das müsste ich im Auth berücksichtigen:

Benutzer darf sich einloggen wenn "active" = 1 und "disabled" = 0

(auf die Struktur habe ich keinen Einfluss)

Die Frage ist also ob man den Auth dahingehend abändern kann.


Also ändern würde ich da nixim Code. Ein pragmatische Ansatz wäre dann eher eine View die die passenden Spalten anbietet:

Code: Select all

CREATE OR REPLACE VIEW viewname AS SELECT col1,col2,col3 IF(active=1 AND disabled=0, 1, 2) AS valid_id FROM table


- Roy
OTRS 4 /5 CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

You need professional services? Check out http://znuny.com/

steste123
OTRS ninja
Posts: 494
Joined: 25 Sep 2012, 19:04
OTRS Version?: OTRS Help Desk
Real Name: Stefan

Re: CustomerAuth v. ext. DB - begrenzen?

Postby steste123 » 18 Oct 2017, 11:29

Hi Roy,
danke für den Tipp. "CREATE OR REPLACE VIEW" ist der immer up to date? Oder muss ich den per Cron schedulen?
OTRS 5.x - Debian 8 - apache 2.4 - MySQL 5.x

root
Moderator
Posts: 970
Joined: 18 Dec 2007, 12:23
OTRS Version?: 5.0.x
Real Name: Roy Kaldung
Company: Znuny Inc.
Contact:

Re: CustomerAuth v. ext. DB - begrenzen?

Postby root » 18 Oct 2017, 12:12

Hi,

wie der Name view schon sagt, eine andere Sicht auf die Dinge. Da muss man nichts tun, es werden stets die Daten aus der/den Originaltabellen angezeigt. Eingeschränkt sogar updatebar. Sonstige Einschränkungen hier: https://dev.mysql.com/doc/refman/5.7/en/view-restrictions.html

- Roy
OTRS 4 /5 CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

You need professional services? Check out http://znuny.com/

steste123
OTRS ninja
Posts: 494
Joined: 25 Sep 2012, 19:04
OTRS Version?: OTRS Help Desk
Real Name: Stefan

Re: CustomerAuth v. ext. DB - begrenzen?

Postby steste123 » 18 Oct 2017, 13:36

Das seltsame ist, valid_id hat immer Wert 2 :-/

Kann es daran liegen, dass active und disabled beides ENUM Felder mit 0,1 sind?

Code: Select all

SELECT uemail, active, disabled,
IF(active="1" AND disabled="0",1,2) AS valid_id
FROM com_users 
ORDER BY `valid_id`  DESC
OTRS 5.x - Debian 8 - apache 2.4 - MySQL 5.x

root
Moderator
Posts: 970
Joined: 18 Dec 2007, 12:23
OTRS Version?: 5.0.x
Real Name: Roy Kaldung
Company: Znuny Inc.
Contact:

Re: CustomerAuth v. ext. DB - begrenzen?

Postby root » 18 Oct 2017, 14:17

steste123 wrote:Kann es daran liegen, dass active und disabled beides ENUM Felder mit 0,1 sind?


Ja, passe die IF-Clause an den Datentypen an
OTRS 4 /5 CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

You need professional services? Check out http://znuny.com/

steste123
OTRS ninja
Posts: 494
Joined: 25 Sep 2012, 19:04
OTRS Version?: OTRS Help Desk
Real Name: Stefan

Re: CustomerAuth v. ext. DB - begrenzen?

Postby steste123 » 18 Oct 2017, 14:50

so habe es... Danke für die gute Hilfe :)

Code: Select all

CREATE OR REPLACE VIEW OTRSview AS SELECT uemail, active, disabled, IF(active='1' AND disabled='0',1,0) AS valid_id FROM com_users

mit Create or Replace view abc liefert er ein leeres Ergebnis zurück. Führe ich nur den Select-Befehl aus erhalte ich entsprechende Ergebnisse.

UPDATE:
Alles gut. Gelöst.
OTRS 5.x - Debian 8 - apache 2.4 - MySQL 5.x

steste123
OTRS ninja
Posts: 494
Joined: 25 Sep 2012, 19:04
OTRS Version?: OTRS Help Desk
Real Name: Stefan

Re: CustomerAuth v. ext. DB - begrenzen?

Postby steste123 » 18 Oct 2017, 15:20

Nachtrag:
Alles angepasst und es läuft! Vielen Dank für die gute Hilfe! :)
OTRS 5.x - Debian 8 - apache 2.4 - MySQL 5.x


Return to “Hilfe”

Who is online

Users browsing this forum: No registered users and 6 guests