FELOGIN: Temporary Frontend Login workaround [DE]

If you have created additional (non official) documentation or tutorials or something like that please post this here
Post Reply
User avatar
flip-flop
Moderator
Posts: 8178
Joined: Sat 21. May 2005, 21:25
Location: HAMM (Germany)
Contact:

FELOGIN: Temporary Frontend Login workaround [DE]

Post by flip-flop » Mon 17. Nov 2008, 10:30

Hier eine grobe Zusammenfassung des bisher gesagten: (Temporary Frontend Login workaround)
For sure I know you are waiting for the new release since long time including long-awaited permissions and so on.

And yes, I am working on it and as I told flip-flop yesterday: I need it myself for coming projects.But I also know that there are many of you waiting for a fast and simple simple solution to limit access to special sections of your site, e.g. login area for customers or other user groups.
I have no backend-ready thing for you right now but here is a very generic | frontend_init/frontend_render script package.
Try it, I have it tested in current development release only but it should work in 1.3.3 too. Documentation is included.

Oliver
Hier eine grobe Zusammenfassung des bisher gesagten:

Dieses FELOGIN wird von außen über den gesamten Prozess gestülpt (ab der Version ~1.2.5). Es gibt keine Verbindung zu den internen Usern und die damit einhergehenden Funktionen. Die User, deren Kennwörter und die zu schützenden Ebenen werden in einer externen Datei gepflegt. Die Einstellungen im Backend bezüglich "Frontend Menüstatus:" etc. werden hier nicht verwendet. Es können keine Anmeldeanfragen abgesetzt werden, die einen User im BE anlegen.

Download: Temporary Frontend Login workaround

Bedingung -> conf.inc.php:

Code: Select all

$phpwcms['allow_ext_init']   = 1; //allow including of custom external scripts at frontend initializ.
$phpwcms['allow_ext_render'] = 1; //allow including of custom external scripts at frontend rendering

$phpwcms['allow_cntPHP_rt']  = 1; //allow PHP replacement tags and includes in content parts

$phpwcms['SESSION_FEinit']   = 1; // set 1 to enable sessions in frontend, 0 to disable sessions in frontend
Diese Dateien kopieren:

Code: Select all

- /template/inc_script/froentend_render/disabled/felogin.render.php -> /template/inc_script/froentend_render/felogin.render.php
- /template/inc_script/froentend_init/disabled/felogin.init.php     -> /template/inc_script/froentend_init/felogin.init.php
Ausgangslage:

Code: Select all

.L  E  V  E  L
-:  :  :  :  :  :
-0  1  2  3  4  5  <- LEVEL-No.)
-:  :  :  :  :  :
-+ root   :  :  :                        ID=0
-+--+ en  :  :  :                        ID=01
-+--+--+ category_01                     ID=02
-+--+--+ category_02                     ID=03  -> parent category (Loginbasis)
-+--+--+--+ category_02_01               ID=05  {FELOGIN} (Login)
-+--+--+--+--+ category_02_01_01         ID=07  -> access blocked
-+--+--+--+--+ category_02_01_02         ID=08  -> access blocked
-+--+--+--+ category_02_02               ID=06  {FELOGIN} (Login)
-+--+--+--+--+ category_02_02_01         ID=11  -> access blocked
-+--+--+--+--+ category_02_02_02         ID=12  -> access blocked
-+--+--+--+--+--+ category_02_02_02_01   ID=13  -> access blocked
-+--+--+--+ category_02_03               ID=09  {FELOGIN} (Login)
-+--+--+--+--+ category_02_03_01         ID=14  -> access blocked
-+--+--+--+--+ category_02_03_02         ID=15  -> access blocked
-+--+--+ category_03                     ID=04
-+--+--+ category_04                     ID=10
-:  :  :  :  :  :
-0  1  2  3  4  5  <- LEVEL No.
Gesperrt sollen/können:

Code: Select all

-+--+--+--+--+ category_02_01_01         ID=07
-+--+--+--+--+ category_02_01_02         ID=08

-+--+--+--+--+ category_02_02_01         ID=11
-+--+--+--+--+ category_02_02_02         ID=12
-+--+--+--+--+--+ category_02_02_02_01   ID=13

-+--+--+--+--+ category_02_03_01         ID=14
-+--+--+--+--+ category_02_03_02         ID=15
Das Login {FELOGIN} liegt nun jeweils auf:

Code: Select all

-+--+--+--+ category_02_01               ID=05  {FELOGIN}
-+--+--+--+ category_02_02               ID=06  {FELOGIN}
-+--+--+--+ category_02_03               ID=09  {FELOGIN}
Die Elternebene (parent) der Loginseite(n), hier genannt die Loginbasis ist

Code: Select all

-+--+--+ category_02                     ID=03
FELOGIN_LEVEL_DEPTH bezieht sich auf die Loginbasis also die Kategorie in FELOGIN_LEVEL_ID. Die Zählung der Level beginnt bei home=0 (hier root) !!!!
---------------------------------
felogin.ini.php
;Die Elternkategorie (parent) Loginbasis der Loginebenen ist (category_02)
FELOGIN_LEVEL_ID = 3

;also ist die Leveltiefe anzugeben mit (category_02 = Level 2)
FELOGIN_LEVEL_DEPTH = 2
; Put in the level depth, root level = 0
; FELOGIN_LEVEL_DEPTH = 2
FELOGIN_LEVEL_DEPTH = 2

; This is the ID of parent's level, root would be 0
; FELOGIN_LEVEL_ID = 3
FELOGIN_LEVEL_ID = 3
;[Ebene]
;Name = Passwort
;----------------
[5]
hansi = hansi123
toni = toni123

[6]
waldi = waldi123
oki = oki123
andi = andi123

[9]
mini = mini123
moni = momi123
;----------------
Es wird eine Loginbasis als parent angegeben unterhalb der dann die jeweiligen Loginkategorien und darunter die gesperrten Kategorien liegen.
Alle Loginkategorien müssen im selben Level liegen.

Ein Mehrfachzugriff eines Users auf verschiedene gesperrte Ebenenstränge geht nicht, (der selbe User in beispielsweise [5] und [9]), außer der User wird für diese Ebenenstränge angelegt.
Jedoch wird dann beim Ebenenstrangwechsel immer wieder das Login in den neuen Ebenenstrang generiert und der alte Ebenenstrang wird automatisch abgemeldet.

Werden zusätzlich noch gesonderte Skripte verwendet wie in der Readme.txt zu sehen, muss

Code: Select all

$phpwcms['allow_cntPHP_rt']   = 1; //allow PHP replacement tags and includes in content parts 
eingeschaltet sein.
Wichtig: Bitte darauf achten dass der Tag {FELOGIN} groß geschrieben wird!!!!

------------------------------------------------------------------------------
BEISPIEL Nr 1
------------------------------------------------------------------------------
gegeben:

Code: Select all

root oder home ID:0   (immer 0,  gleichzeitig parent/Eltern-Ebene fuer das FELOGIN -> eintragen in FELOGIN_LEVEL_ID)
-----internes ID:10   {FELOGIN}
----------internes1 ID:12   (zu schuetzende Ebene)
----------internes2 ID:13   (zu schuetzende Ebene)
----------internes3 ID:15   (zu schuetzende Ebene)
-----Kontakt
-----Impressum
... usw.
Hier beispielsweise mit
FELOGIN_LEVEL_DEPTH = 0
und
FELOGIN_LEVEL_ID = 0
In Ebene ID:10 liegt das Login [10] mit den Usern=Passwort.
;[Ebene]
;Name = Passwort
;----------------
[10]
hansi = hansi123
toni = toni123
------------------------------------------------------------------------------
BEISPIEL Nr.: 2 mit einer Ebene tiefer
------------------------------------------------------------------------------
gegeben:

Code: Select all

root oder home ID:0   (immer 0)
---inderna ID:5   (parent / Eltern-Ebene fuer das FELOGIN -> eintragen in FELOGIN_LEVEL_ID)
-----internes ID:10  {FELOGIN}
----------internes1 ID:12   (zu schuetzende Ebene)
----------internes2 ID:13   (zu schuetzende Ebene)
----------internes3 ID:15   (zu schuetzende Ebene)
---Kontakt
---Impressum
... usw.
Hier beispielsweise mit
FELOGIN_LEVEL_DEPTH = 1
und
FELOGIN_LEVEL_ID = 5
In Ebene ID:10 liegt das Login [10] mit den Usern=Passwort.
;[Ebene]
;Name = Passwort
;----------------
[10]
hansi = hansi123
toni = toni123
Hoffe es hilft

Knut
Last edited by flip-flop on Thu 9. Apr 2009, 15:32, edited 4 times in total.
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )

User avatar
markus s
Moderator
Posts: 654
Joined: Sat 16. Dec 2006, 19:21
Location: Radfeld / Tirol
Contact:

Re: FELOGIN: Temporary Frontend Login workaround [DE]

Post by markus s » Mon 17. Nov 2008, 20:43

knut - du bist fantastisch !
dh konkret, dass man einen FE user immer händisch eingeben muss.
es gibt hierzu keine möglichkeit, dass der sich über ein formular anmeldet und
er dann mit einem klick (grüner button im backend) freigschalten ist-
FE user sind auch nicht irgendwo administrierbar - ausser händisch im file !
moderator
propelled by fresh air from tirol
XING|FACEBOOK|OMENTO

Post Reply