Elxis CMS Forum

Ελληνικό Forum => Πρόσθετα => Topic started by: giannismit on April 01, 2019, 13:08:35

Title: Πρόσβαση σε components
Post by: giannismit on April 01, 2019, 13:08:35
Καλημέρα και καλό μήνα.

Θέλω να δώσω πρόσβαση στο Simple Gallery για να ανεβάζουν φωτογραφίες, αλλά δεν θέλω να έχουν πρόσβαση σε όλη την διαχείριση.
Υπάρχει τρόπος με τα δικαιώματα χρήστη? βλέπω πολλές αλλαγές και δεν είμαι και σίγουρος.
Κάποιος να βοηθήσει?
Title: Re: Πρόσβαση σε components
Post by: datahell on April 01, 2019, 23:54:29
Για πρόσβαση στη διαχείριση πρέπει να έχει επίπεδο πρόσβασης τουλάχιστον 70 (group manager).
Το αν κάποιος έχει πρόσβαση σε ένα component στη διαχείριση ή όχι καθορίζεται από την τιμή του action "manage".

component > com_something > manage = 0 (ο χρήστης/group/επίπεδο δεν έχει πρόσβαση στο com_something)
Επειδή ο διαχειριστής πρόσβασης δουλεύει δίνοντας πρόσβαση και όχι αφαιρώντας (εξ ορισμού κανείς δεν μπορεί να κάνει τίποτα) γι αυτό δεν έχει νόημα να δώσουμε την τιμή 0 παραπάνω. Προτιμότερο είναι να μην υπάρχει καθόλου αυτή η εγγραφή.

Οπότε, δούλεψε με το group "manager" ή φτιάξε ένα νέο με επίπεδο τουλάχιστον 70. Στα δικαιώματα του group δώσε πρόσβαση μόνο στο component simple gallery. Θα πρέπει να δώσεις όμως περιορισμένη πρόσβαση και στο component "cpanel" ώστε όταν κάνει login να βλέπει κάτι.

Εναλλακτικά μπορείς να βάλεις ένα redirection στο template διαχείρισης (templates/admin/iris/index.php) ώστε να μπορούν να πάνε μόνο το component simple gallery και πουθενά αλλού:
if ($elxis->user()->gid == XXX) { //όπου XXX το id του group που θες
    if (eFactory::getURI()->getComponent() != 'sgallery) {
      $link = $elxis->makeAURL('sgallery:/');
      $elxis->redirect($link);
   }
}
Title: Re: Πρόσβαση σε components
Post by: giannismit on April 03, 2019, 18:22:13
Τέλεια! Ευχαριστώ Γιάννη.
Όπως πάντα ολοκληρωμένη η απάντησή σου!!  :D
Title: Re: Πρόσβαση σε components
Post by: giannismit on April 03, 2019, 19:14:17
Έκανα ενα Group με Access level 70
Δεν μπορώ όμως να πειράξω τίποτα στο tab Access του group.

Υπάρχει πρόβλημα η έχω πάρει λάθος δρόμο?
Title: Re: Πρόσβαση σε components
Post by: datahell on April 03, 2019, 19:29:14
Την προσβαση την ρυθμιζεις στο διαχειριστη προσβασης (acl) οχι στη σελιδα επεξεργασιας του component. Εκει μονο βλεπεις. Οταν τελεθωσεις κανε login σαν εκεινος ο χρηστης να το δοκιμασεις.
Title: Re: Πρόσβαση σε components
Post by: giannismit on April 03, 2019, 21:33:57
Δεν μπορώ να καταλάβω την λογική που δουλεύει o access manager.

Αν υποθέσουμε ότι ο Admin και οι άλλοι manager δεν θέλω να επηρεασθούν από οπουδήποτε αλλαγή.
1. Φτιάχνω ένα group με όνομα=group1,  ID=10 και με επίπεδο προσβασης 70.
    Με αυτή την ρύθμιση όσοι είναι στο group1 έχουν πρόσβαση σε ολα τα component και τα module που το action>Manage έχει level=70.
2. Πηγαίνω στον ACL και αφού έχω πρόσβαση στο επιθυμητό component πρέπει να αφαιρέσω την πρόσβαση από τα υπόλοιπα component kai module?
    Δηλαδή 50 περίπου προσθήκες με Action=manage, minimum level=0 και Group ID=10 ?

Κάτι μου λέει ότι κάνω λάθος σκέψη.....
Title: Re: Πρόσβαση σε components
Post by: datahell on April 03, 2019, 23:21:11
Η πρόσβαση σε ένα component καθορίζεται από το action "manage" το οποίο εξ ορισμού έχουν όσοι έχουν επίπεδο πρόσβασης 70 και άνω.
Κάνε το εξής: Πήγαινε στο group "Manager" και άλλαξέ του το access level σε 71 (το "group1" παραμένει στο 70).
Πήγαινε στο διαχειριστή πρόσβασης και σε όλα τα component εκτός του simple gallery βάλε στο action "Manage" τιμή για το "Minimum level" το 71.
Title: Re: Πρόσβαση σε components
Post by: giannismit on April 04, 2019, 14:08:53
Όλα εντάξει  :D

Σε ευχαριστώ και πάλι Γιάννη για όλα.