Asevastos Δημοσ. 16 Δεκεμβρίου 2018 Δημοσ. 16 Δεκεμβρίου 2018 (επεξεργασμένο) Καλησπέρα, έχω κάποιες απορίες για μία εργασία για τη σχολή. Η εργασία είναι χωρισμένη σε 2 μέρη. Στο πρώτο μέρος (το οποίο ολοκλήρωσα) ζητούσε τη δημιουργία μιας απλής ιστοσελίδας αποκλειστικά με χρήση HTML/CSS. Τώρα, στο δεύτερο μέρος ζητούνται τα εξής: Μόλις κάποιος βάζει το url για να μπει στο site να του εμφανίζει login page και να πρέπει υποχρεωτικά να κάνει login. Τα στοιχεία των χρηστών προφανώς θα είναι περασμένα σε db. Τώρα, μετά το login, εάν αυτός που συνδέθηκε είναι απλός user του εμφανίζει το site που υλοποίησα και στο 1ο μέρος. Εάν όμως ο συνδεδεμένος χρήστης είναι ο admin, τότε θα πρέπει να του εμφανίσει μια επεκταμένη έκδοση του 1ου μέρους. Δηλαδή θα έχει τις σελίδες του 1ου μέρους αλλά σε αυτές θα έχει και ένα extra option να μπορείς να κάνεις αλλαγές στις σελίδες (π.χ. αν μια σελίδα εμπεριέχει ανακοινώσεις θα έχει button "Προσθήκη νέας ανακοίνωσης" το οποίο υποτίθεται μπορεί να το κάνει μόνο ο Διαχειριστής). Επειδή δε γνωρίζω ακόμη αρκετά και πρέπει να ξέρω πώς θα τα υλοποιήσω για να προχωρήσω, μπορεί κάποιος να μου πει ποια θα ήταν μια σωστή προσέγγιση; Σκέφτηκα να φτιάξω κάθε σελίδα 2 φορές, η μία είναι αυτή του πρώτου μέρους και η δεύτερη είναι η εκτεταμένη. Όποτε κάποιος συνδέεται, ελέγχει αν είναι user ή admin και αναλόγως τον "μεταφέρει" στο url που αντιστοιχεί στις σελίδες του 1ου μέρους ή τις εκτεταμένες. Από την άλλη, ίσως απλώς χρειάζεται κάπως να "πω" στο σύστημα ότι η σελίδα είναι αυτή του πρώτου μέρους αλλά αν αυτός που έκανε login είναι ο admin, εμφάνισε και αυτό το button("Προσθήκη νέας ανακοίνωσης"). Τι λέτε; Επεξ/σία 16 Δεκεμβρίου 2018 από Asevastos
XPHSTOS_ Δημοσ. 16 Δεκεμβρίου 2018 Δημοσ. 16 Δεκεμβρίου 2018 Η 2η σκέψη σου είναι η σωστή. Φτιάχνεις την σελίδα ολοκληρωμένη μαζί με τα edit capabilities και ανάλογα τον χρήστη εμφανίζεις/εξαφανίζεις τα edit buttons. 1
Asevastos Δημοσ. 16 Δεκεμβρίου 2018 Μέλος Δημοσ. 16 Δεκεμβρίου 2018 Ωραία, αυτό ήθελα να ξέρω. Ευχαριστώ.
defacer Δημοσ. 16 Δεκεμβρίου 2018 Δημοσ. 16 Δεκεμβρίου 2018 Η δεύτερη σκέψη δεν είναι απλά η σωστή, είναι επιπλέον και η μόνη σωστή. Στο σενάριο που η ίδια η σελίδα δεν ξέρει αν ο επισκέπτης είναι απλός χρήστης ή admin ή ακόμα και τυχαίος περαστικός, τι εμποδίζει τον τυχαίο περαστικό να ζητήσει την εκτέλεση λειτουργιών που επιτρέπονται μόνο για admins? Ρητορική ερώτηση είναι, τίποτα δεν τον εμποδίζει. 1
Predatorkill Δημοσ. 16 Δεκεμβρίου 2018 Δημοσ. 16 Δεκεμβρίου 2018 (επεξεργασμένο) Θα φτιαξεις 2 modes, 1 mode οπου ο χρηστης ειναι απλος, 1 mode οπου ο χρηστης ειναι admin. (για την εμφανιση κουμπιων) 1 mode με απλο view, 1 mode για edit/add content (admin). Οταν πατας το κουμπι edit/add τσεκαρεις παντα αν ειναι admin και μετα μπαινεις σε edit mode. Εννοειται ολο το validation στο backend. Επεξ/σία 16 Δεκεμβρίου 2018 από Predatorkill 1
Asevastos Δημοσ. 17 Δεκεμβρίου 2018 Μέλος Δημοσ. 17 Δεκεμβρίου 2018 (επεξεργασμένο) 4 ώρες πριν, defacer είπε Η δεύτερη σκέψη δεν είναι απλά η σωστή, είναι επιπλέον και η μόνη σωστή. Στο σενάριο που η ίδια η σελίδα δεν ξέρει αν ο επισκέπτης είναι απλός χρήστης ή admin ή ακόμα και τυχαίος περαστικός, τι εμποδίζει τον τυχαίο περαστικό να ζητήσει την εκτέλεση λειτουργιών που επιτρέπονται μόνο για admins? Ρητορική ερώτηση είναι, τίποτα δεν τον εμποδίζει. Δε γίνεται να μη γνωρίζει τι χρήστης είναι. Το login είναι προαπαιτούμενο για να μπεις στο site, βγάζει login page με το που πληκτρολογείς το url. Επεξ/σία 17 Δεκεμβρίου 2018 από Asevastos
defacer Δημοσ. 17 Δεκεμβρίου 2018 Δημοσ. 17 Δεκεμβρίου 2018 11 hours ago, Asevastos said: Δε γίνεται να μη γνωρίζει τι χρήστης είναι. Το login είναι προαπαιτούμενο για να μπεις στο site, βγάζει login page με το που πληκτρολογείς το url. Δεν είναι ξεκάθαρο από αυτά που γράφεις πώς ακριβώς δουλεύει. Και επειδή έχω δει πολλές εργασίες για σχολή στη ζωή μου, δε με εκπλήσσει τίποτα. 😄 1
Predatorkill Δημοσ. 17 Δεκεμβρίου 2018 Δημοσ. 17 Δεκεμβρίου 2018 11 ώρες πριν, Asevastos είπε Δε γίνεται να μη γνωρίζει τι χρήστης είναι. Το login είναι προαπαιτούμενο για να μπεις στο site, βγάζει login page με το που πληκτρολογείς το url. Πως ξερεις τι ειδους χρηστης ειναι; Μεσω jwt token, cookie, session ή localstorage (no no);
Asevastos Δημοσ. 17 Δεκεμβρίου 2018 Μέλος Δημοσ. 17 Δεκεμβρίου 2018 Predator δεν έχω ξεκινήσει ακόμη τίποτα από το δεύτερο μέρος. Τώρα θα κάτσω να δω PHP και να προχωρήσω.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα