[3.1] wbb bridge anpassung von 3.0

Du suchst eine bestimmte Extension, weißt aber nicht genau wo bzw. ob sie überhaupt existiert? Du kannst hier die von dir gewünschte/gesuchte Extension beschreiben ...
Falls ein Extension-Autor eine der Anfragen hier aufnimmt, um eine neue Extension zu entwickeln, geht's in Extensions in Entwicklung weiter.
Saugjunkie
Mitglied
Beiträge: 15
Registriert: 22.06.2010 14:32

Re: [3.1] wbb bridge anpassung von 3.0

Beitragvon Saugjunkie » 29.10.2017 14:50

Chris du verstehst nicht was ich will genau das was du schreibst will ich nicht machen die user sollen sich nicht ein neues pw erstellen müssen. Das was du schreibt funktioniert ja das recovery geht bzw der reset und die user können sich einloggen

Dafuer habe ich ja die extra Tabelle mit den gespeicherten Passwörtern wieso soll ich die nicht nutzen die verschwindet ja wenn sich alle einmal eingeloggt haben. Nur du schreibt immer und glaube nicht das du dir den code und wie er funktioniert einmal angeschaut hast.

MFG
Saugjunkie

Benutzeravatar
chris1278
Mitglied
Beiträge: 758
Registriert: 12.11.2007 06:20
Kontaktdaten:

Re: [3.1] wbb bridge anpassung von 3.0

Beitragvon chris1278 » 29.10.2017 16:11

Das ist wohl Richtig da ich den Code eh nicht wirklich Verstehe. Ich kann die phpscriptsprache halt nicht. Es gibt zwar einiges was ich machen kann mit php aber mein wissen dahingehend ist leider nur begrenzt. Aber wie ich auch schon früher erwähnte wird sich das evtl. nicht vermeiden lassen das die User sich das passwort neu machen müssen. aber evtl. weis ja jemand anderes ne lösung für dein problem.

Benutzeravatar
Melmac
Supporter
Supporter
Beiträge: 2076
Registriert: 15.10.2012 03:27

Re: [3.1] wbb bridge anpassung von 3.0

Beitragvon Melmac » 29.10.2017 16:19

Wie wäre es, wenn Ihr beide mal auf Eure Rechtschreibung achtet und aufhört, permanent Zeichensetzung und Groß-/Kleinschreibung zu ignorieren?!
Eure Beiträge, sowie sie jetzt geschrieben werden, motivieren nicht gerade zum Lesen und Antworten.

Siehe hierzu auch die kleine phpBB.de-Knigge - unsere Hausordnung
Handle nur nach derjenigen Maxime, durch die du zugleich wollen kannst, dass sie ein allgemeines Gesetz werde.
(Immanuel Kant)

Benutzeravatar
Mahony
Ehemaliger
Beiträge: 10940
Registriert: 17.11.2005 22:33
Wohnort: Esslingen (Neckar)
Kontaktdaten:

Re: [3.1] wbb bridge anpassung von 3.0

Beitragvon Mahony » 29.10.2017 16:21

Hallo
Ich würde einfach die Benutzer per Massen-Mail anschreiben und sie auffordern sich bis zum Datum xx.yy.zz einmal einzuloggen (mit dem Hinweis dass sie sich nach dem genannten Datum nur noch per "Passwort vergessen" - Funktion ein neues Passwort zuschicken lassen können, um sich dann damit anmelden zu können).
Wer sich dann nicht eingeloggt hat, wird sich entweder sowieso nicht wieder einloggen oder er nimmt das dann in Kauf.

Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.

Benutzeravatar
chris1278
Mitglied
Beiträge: 758
Registriert: 12.11.2007 06:20
Kontaktdaten:

Re: [3.1] wbb bridge anpassung von 3.0

Beitragvon chris1278 » 29.10.2017 16:33

Melmac hat geschrieben:Wie wäre es, wenn Ihr beide mal auf Eure Rechtschreibung achtet und aufhört, permanent Zeichensetzung und Groß-/Kleinschreibung zu ignorieren?!
Eure Beiträge, sowie sie jetzt geschrieben werden, motivieren nicht gerade zum Lesen und Antworten.

Siehe hierzu auch die kleine phpBB.de-Knigge - unsere Hausordnung



Hallo Melmac, Ich hatte schon mit Dr.Death pn geschrieben deswegen. Ich habe Ihm erklärt das ich selbst in Gramatik mies bin. Ich bemühe mich zwar aber es funktioniert leider nicht wirklich so ganz. Ich versuche immer so zu schreiben das man es versteht was ich sagen will.

Benutzeravatar
Joyce&Luna
Mitglied
Beiträge: 1407
Registriert: 24.11.2013 18:14
Wohnort: NRW
Kontaktdaten:

Re: [3.1] wbb bridge anpassung von 3.0

Beitragvon Joyce&Luna » 29.10.2017 16:51

Es gibt passende Add ons für eure Browser, die können eine große Hilfe sein.

Anke
phpBB-Style-Design.de

Es kommt nicht darauf an, mit dem Kopf durch die Wand zu gehen, sondern mit den Augen die Tür zu finden.
Support zu meinen Styles, bitte die Fragen im Forum stellen und nicht per PN. Danke!

Saugjunkie
Mitglied
Beiträge: 15
Registriert: 22.06.2010 14:32

Re: [3.1] wbb bridge anpassung von 3.0

Beitragvon Saugjunkie » 01.11.2017 01:36

Hallo jetzt mal ernst bitte in diesem Thema das ist mir sehr wichtig.

Ich versuche einen auth provider meinem phpbb 3.2 hinzuzufügen und bin nach dieser Anleitung gegangen.
https://area51.phpbb.com/docs/dev/3.2.x ... -providers

Das ist der Inhalt meiner auth.yml

Code: Alles auswählen

    auth.provider.wbb:
        class: phpbb\auth\provider\wbb
        arguments:
            - @dbal.conn
            - @config
            - @passwords.manager
            - @request
            - @user
            - @service_container
            - %core.root_path%
            - %core.php_ext%
        tags:
            - { name: auth.provider }


und dies ist der inhalt in meiner services.yml

Code: Alles auswählen

    auth.provider.wbb:
        class: phpbb\auth\provider\wbb
        arguments:
            - @dbal.conn
            - @config
            - @passwords.manager
            - @request
            - @user
            - @service_container
            - %core.root_path%
            - %core.php_ext%
        tags:
            - { name: auth.provider }


das ist nun der Inhalt meiner wbb.php die unter phpbb/auth/provider liegt.

Code: Alles auswählen

<?php

namespace phpbb\auth\provider;

/**
 * Database authentication provider for phpBB3
 *
 * This is for authentication via the integrated user table
 */
class wbb extends \phpbb\auth\provider\base
{
    /** @var \phpbb\db\driver\driver_interface $db */
    protected $db;

    /**
     * Database Authentication Constructor
     *
     * @param \phpbb\db\driver\driver_interface $db
     */
    public function __construct(\phpbb\db\driver\driver_interface $db)
    {
        $this->db = $db;
    }

    /**
     * {@inheritdoc}
     */
    public function login($username, $password)
    {
        // Auth plugins get the password untrimmed.
        // For compatibility we trim() here.
        $password = trim($password);

        // do not allow empty password
        if (!$password)
        {
            return array(
                'status'    => LOGIN_ERROR_PASSWORD,
                'error_msg' => 'NO_PASSWORD_SUPPLIED',
                'user_row'  => array('user_id' => ANONYMOUS),
            );
        }

        if (!$username)
        {
            return array(
                'status'    => LOGIN_ERROR_USERNAME,
                'error_msg' => 'LOGIN_ERROR_USERNAME',
                'user_row'  => array('user_id' => ANONYMOUS),
            );
        }

$username_clean = utf8_clean_string($username);
        $sql = 'SELECT wbbpw.* FROM ' . USERS_TABLE . "
        INNER JOIN " . USERS_WBB_PASSWORDS_TABLE . " wbbpw USING (user_id)
      WHERE username_clean = '" . $this->db->sql_escape($username_clean) . "'";
        $result = $this->db->sql_query($sql);
        $row = $this->db->sql_fetchrow($result);
        $this->db->sql_freeresult($result);
        // sha1($row['salt'].sha1($row['salt'].sha1($password)))
        if(!empty($row) && $this->getDoubleSaltedHash($password, $row['salt']) === $row['password'])
        {
            // Hash passwords into legacy md5, because phpbb convert legacy passwords itself.
            $sql = 'UPDATE ' . USERS_TABLE . "
            SET user_password = '".md5($password)."'
            WHERE user_id = " . (int) $row['user_id'] . ";";
            $this->db->sql_query($sql);
            $sql = 'DELETE FROM ' . USERS_WBB_PASSWORDS_TABLE . "
            WHERE user_id = " . (int) $row['user_id'] . ";";
            $this->db->sql_query($sql);
        }
        return parent::login($username, $password);
    }
    /**
     * Returns a salted hash of the given value.
     *
     * @param    string       $value
     * @param   string      $salt
     * @return    string       $hash
     */
    private function getSaltedHash($value, $salt) {
        if (!defined('ENCRYPTION_ENABLE_SALTING') || ENCRYPTION_ENABLE_SALTING) {
            $hash = '';
            // salt
            if (!defined('ENCRYPTION_SALT_POSITION') || ENCRYPTION_SALT_POSITION == 'before') {
                $hash .= $salt;
            }
            // value
            if (!defined('ENCRYPTION_ENCRYPT_BEFORE_SALTING') || ENCRYPTION_ENCRYPT_BEFORE_SALTING) {
                $hash .= $this->encrypt($value);
            }
            else {
                $hash .= $value;
            }
            // salt
            if (defined('ENCRYPTION_SALT_POSITION') && ENCRYPTION_SALT_POSITION == 'after') {
                $hash .= $salt;
            }
            return $this->encrypt($hash);
        }
        else {
            return $this->encrypt($value);
        }
    }
    /**
     * Returns a double salted hash of the given value.
     *
     * @param    string       $value
     * @param   string      $salt
     * @return    string       $hash
     */
    private function getDoubleSaltedHash($value, $salt) {
        return $this->encrypt($salt . $this->getSaltedHash($value, $salt));
    }
    /**
     * encrypts the given value.
     *
     * @param    string       $value
     * @return    string       $hash
     */
    private function encrypt($value) {
        if (defined('ENCRYPTION_METHOD')) {
            switch (ENCRYPTION_METHOD) {
                case 'sha1': return sha1($value);
                case 'md5': return md5($value);
                case 'crc32': return crc32($value);
                case 'crypt': return crypt($value);
            }
        }
        return sha1($value);
    }
}


zu guter letzt noch die adm/style/auth_provider_wbb.html

Code: Alles auswählen

<fieldset id="auth_test_settings">
    <legend>{TEST}</legend>
    <dl>
        <dt><label for="https_server">{TEST_SERVER}{L_COLON}</label><br /><span>{TEST_SERVER_EXPLAIN}</span></dt>
        <dd><input type="text" id="https_server" size="40" name="config[https_server]" value="{AUTH_HTTPS_SERVER}" /></dd>
    </dl>
</fieldset>


Leider geht es immer noch nicht wen ich dann unter ACP Client Kommunikation den Reiter Authentifizierung anklicke kommt zwar ein drop down menu und ich kann wbb auswaehlen und er uebernimmt das auch und schreibt den wert in die config db. Nur wenn ich mich dann auslogge als admin und dann als ein user einloggen möchte kommt nur noch eine weise seite.

Ich wurde mich wirklich freuen wenn sich das mal einer anschauen könnte.

MFG
Saugjunkie


Zurück zu „Extension Suche/Anfrage“