ycom icon indicating copy to clipboard operation
ycom copied to clipboard

Wunsch :: Admin sollte im Frontend Zugriff haben

Open skerbis opened this issue 9 years ago • 12 comments

Ein Backend-Admin oder -Redakteur sollte sich eine Community-Seite ohne Login anschauen können.

skerbis avatar Jul 12 '16 22:07 skerbis

Den Registrierungs-/Loginprozess will man ja auch prüfen. Da hilft es nicht, wenn man gleich als "eingeloggt" gilt und durch das Frontend gehen kann.

Beschreib doch mal wie du dir das genau vorstellst.

tbaddade avatar Jul 13 '16 06:07 tbaddade

Es geht um den Backend-Admin/oder Redakteur. Sie sollten sich die eingepflegten Seiten ohne Login zur Kontrolle anzeigen lassen können. Es ist schwierig den Redakteuren zu vermitteln, dass Sie sich zunächst in der Community einloggen müssen um die Darstellung der frisch eingepflegten Inhalte zu überprüfen.

skerbis avatar Jul 13 '16 07:07 skerbis

z.B. "Als User xy einloggen" .. und man wäre direkt eingeloggt - wäre eine Möglichkeit.

dergel avatar Aug 10 '16 07:08 dergel

Das wäre sehr praktisch @dergel vor allem auch hinsichtlich des History-Plugins. Aktuell muss für den Versionsvergleich der Backenduser auch im Frontend angemeldet sein, damit er die Versionen vergleichen kann.

skerbis avatar Apr 10 '17 11:04 skerbis

rein vom wording her nennt man sowas ein "impersonate" feature, ggf. auch interessant für den core selbst (unabh. von diesem feature hier).

"impersonate" ist immer schön wenn man fehler o.ä. reproduzieren will ohne das passwort des users kennen zu müssen.

staabm avatar Apr 10 '17 11:04 staabm

"impersonate"-Login steht aber im Kontrast zu einem Admin Login, weil beim Admin-Login die Sichtbarkeit von Themen nicht individuell angepasst werden kann. Es scheint also um zwei unterschiedliche Ansätze zu gehen, die sich widersprechen bzw. per Bedingungen gegenseitig ausschließen müssen.

DavidBruchmann avatar Sep 11 '17 15:09 DavidBruchmann

Ich hab das bei einem aktuellen Projekt so gelöst:

// backendnutzer als ycom nutzer einloggen
rex_extension::register('YCOM_AUTH_USER_CHECK', function ($ep) {
    // backendnutzer bei jedem seitenaufruf einloggen (wg ycom benutzerwechsel)
    if (rex::getUser())
    {
        $user_id = rex_get('user_id', 'int', 0);
        if ($user_id)
        {
            $ycom_user = rex_ycom_auth::loginWithParams(['id' => $user_id]);
            if ($ycom_user) {
                return true;
            }
        }
    }
    // eingeloggter ycom nutzer
    if($ep->getSubject()) {
        return true;
    }
    return false;
});

IngoWinter avatar Jan 05 '18 01:01 IngoWinter

Kann hier @gharlan was beitragen durch die Identitäs-Wechsel-Funktion in REDAXO selbst? Da könnte vlt. gleich die Minibar ihre Stärken ausspielen...

alxndr-w avatar Jan 02 '19 00:01 alxndr-w

Habe es probiert. Leider funktioniert es nicht mehr so wie Ingo es oben beschrieben hat mit der aktuellen Version. Daher habe ich auch das geplante AddOn bei FOR entfernt.

skerbis avatar Nov 05 '21 17:11 skerbis

So funktionierts in 4.0.3:

rex_extension::register('YCOM_AUTH_USER_CHECK', function ($ep) {
    // backendnutzer bei jedem seitenaufruf einloggen (wg ycom benutzerwechsel)
    if (rex_backend_login::hasSession() && $beUser = rex_backend_login::createUser()) {
        if ($beUser->isAdmin() || $beUser->hasPerm('permdafuer[]')) {
            $user_id = rex_get('user_id', 'int', 0);
            if ($user_id) {
                $ycom_user = rex_ycom_auth::loginWithParams(['id' => $user_id]);
                if ($ycom_user) {
                    return true;
                }
            }
        }
    }
});

IngoWinter avatar Nov 07 '21 10:11 IngoWinter

Dann versuch ich das doch noch mal.

skerbis avatar Nov 07 '21 11:11 skerbis

@IngoWinter Danke. https://github.com/FriendsOfREDAXO/ycom_impersonate Gerne hier weiterhelfen.

skerbis avatar Feb 14 '22 17:02 skerbis

Ist nun eingebaut.

dergel avatar Feb 16 '23 07:02 dergel

D.h. https://github.com/FriendsOfREDAXO/ycom_impersonate ist obsolet?

alxndr-w avatar Feb 16 '23 08:02 alxndr-w

@alxndr-w nein es muss angepasst werden.

skerbis avatar Feb 16 '23 10:02 skerbis

Als nicht Admin kann du kein impersonate innerhalb von YCom nutzen. Wenn man das will, müsste man das ycom_impersonate AddOn anpassen.

dergel avatar Feb 24 '23 08:02 dergel