ich stehe ein wenig auf dem Schlauch.
Habe heute Nachmittag das Simple User Addon (http://www.redaxo.de/180-0-addon-detail ... addon_id=2) installiert, sowie das Loginmodul (http://www.redaxo.de/165-0-moduldetails ... ule_id=351).
Authentifizierung klappt auch alles soweit.
Ich habe einer meiner Rootkategorien nun im Startartikel den Artikeltyp 99 (=Superuser) zugewiesen und kann auf diesen Artikel erst nach erfolgreichem Login zugreifen. Selbst per manuellen Zugriff auf die ArtikelId per URL ist kein Zugriff ohne Logout möglich -> super.
Leider kann man jedoch noch auf die Unterkategorien dieser Rootkategorie per manueller ArtikelID per URL zugreifen.
Ich möchte jedoch nicht jedem Artikel in dieser Kategorie jedes Mal die Metainfos zuweisen, sondern würde diese gerne vom Rootartikel vererben.
Ich nehme an, ich muss dies im Authentisierungstemplate irgendwo notieren.
Weiss vielleicht jemand, wie ich dies machen sollte?
- Code: Alles auswählen
<?php
/* Authentifizierung - mehrere Benutzerbereiche, Version für REX 4.0+
ACHTUNG: DIE MODULEINGABE DES LOGIN-MODULS BLEIBT LEER BEI DER INSTALLATION,
DER HIER ENTHALTENE CODE IST ZU SPEICHERN ALS SEPARATES AUTHENTISIERUNGS-
TEMPLATE, SIEHE DAZU DIE ANLEITUNG (VIERTER SCHRITT) IM HEADER DER
MODULAUSGABE
Abwandlung des Original-Redaxo-Templates
Das Template ermöglicht die Einrichtung von benutzerspezifischen Bereichen.
Jeder Benutzer erhält nach seiner Anmeldung individuelle, nur für ihn
sichtbare Menüpunkte. Alle in der Hierarchie unter diesem Menüpunkt
liegenden sind ebenfalls nur für diesen angemeldeten Benutzer sichtbar.
Jedem in der (Simple-)User-Verwaltung eingetragenen Benutzer kann derzeit
ein unter Typen eingetragener Artikel-Typ zugeordnet werden.
------------------------------------------
Peter Reiche, http://www.raybeam.de
Portierung auf REX 4.0: Rudi Widmer (rudoo)
------------------------------------------
Letzte Änderung: 6.10.2008 (rudoo)
Nicht benutzte Variable '$user_name' entfernt
Letzte Änderung: 28.2.2008 (rudoo)
Portierung der benutzerspezifischen Artikelanzeige auf REX 4.0
(Individuelle Menüpunkte nur sichtbar für angemeldeten User und su)
Letzte Änderung: 9.1.2008 (rudoo)
Portierung auf REX 4.0
(Open Issue: Error Language)
Letzte Änderung: 09.07.2007:
Fehler in Quelltext beseitigt
Zeile 105: ... && !$FORM[USR]) geändert in ... && !$FORM['USR'])
Letzte Änderung: 10.12.2006:
Einbindung eines "SuperUsers" der alle individuellen Menüpunkte sieht
Letzte Änderung: 10.07.2006:
Individuelle Menüpunkte in beliebiger Verschachtelungstiefe möglich
------------------------------------------
*/
// ID der Fehlerseite, die bei erfolgloser Anmeldung
// aufgerufen werden soll
$errorArticleId = "29";
// Type-ID für den "SuperUser", der alle
// individuellen Menüpunkte sehen darf
$su = 99;
setlocale(LC_ALL,"de_DE");
// -------------------------------------------------------------- USER AUTH
session_start();
$_SESSION['USR'] = false;
$user_id = 0;
if($REX['CUR_CLANG']== "0")
{
$error_lang = "de";
}
else
{
$error_lang = "en";
}
if ($_SESSION['rexsite']['UID'] !="" OR $_POST['FORM']['loginname'] != "" OR $_POST['FORM']['logout'] != "")
{
$_SESSION['USER'] = new rex_login();
$_SESSION['USER']->setSqlDb(1);
$_SESSION['USER']->setSysID("rexsite");
//
// 9.1.2008: Open Issue: Error Language für REX 4.0 (rudoo)
// $FORM['USER']->setLanguage($error_lang);
//
$_SESSION['USER']->setSessiontime(3000);
$_SESSION['USER']->setLogin($_POST['FORM']['loginname'],$_POST['FORM']['loginpasswort']);
if ($_GET['FORM']['LOGOUT'] == 1)
{
$_SESSION['USER']->setLogout(true);
}
$_SESSION['USER']->setUserID("rex_2_user.id");
$_SESSION['USER']->setUserquery("SELECT *
FROM rex_2_user
WHERE id='USR_UID'
AND login_activation=1
AND user_status='1'
AND user_typ>'0'");
$_SESSION['USER']->setLoginquery("SELECT *
FROM rex_2_user
WHERE user_login='USR_LOGIN'
AND user_password='USR_PSW'
AND login_activation='1'
AND user_status='1'");
if ($_SESSION['USER']->checkLogin())
{
$_SESSION['USR'] = true;
$user_id = $_SESSION['USER']->getValue("rex_2_user.id");
$_SESSION['USR_ID'] = $user_id;
$_SESSION['USR_TYP'] = $_SESSION['USER']->getValue("rex_2_user.user_typ");
}
else
{
$_SESSION['USR'] = false;
$err_msg = $_SESSION['USER']->message;
$_SESSION['USR_ID'] = 0;
$_SESSION['USR_TYP'] = 0;
}
}
else
{
// nicht eingeloggt und kein login
$_SESSION['USR_ID'] = 0;
$_SESSION['USR_TYP'] = 0;
}
$artPath = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
$artId = $this->getValue("article_id");
foreach($artPath as $levId)
{
if($levId)
{
if($this->getValue("art_type_id") > 1 && !$_SESSION['USR'])
{
$hack = true;
}
else
{
if($this->getValue("art_type_id") > 1 && $this->getValue("art_type_id") != $_SESSION['USR_TYP'] && $_SESSION['USR_TYP'] != $su)
{
$hack = true;
}
else
{
$hack = false;
}
}
}
if ($hack)
{
# ALT: header("Location: http://".$_SERVER['HTTP_HOST']."/index.php?article_id=".$errorArticleId."&clang=".$REX['CUR_CLANG']);
header("Location: index.php?article_id=".$errorArticleId."&clang=".$REX['CUR_CLANG']);
exit;
}
}
?>

