Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημέρα σας!!

 

Θέλω να με βοηθήσετε για μια εργασία που έχω να κάνω και τα χω βρει λίγο σκούρα (είναι κ καλοοκαίρι...)

 

Τεσπα, έχω τα εξής :)  Εχω μια αρχική σελίδα που ο χρήστης κάνει login και αλλες 5 σελίδες και θέλω αυτές οι σελίδες να είναι προσβάσιμες μόνο στους χρήστες που έχουν κάνει login. Πως γίνεται αυτό???

 

ΟΙ σελίδες είναι με jsp (χρησιμοποιώ το netbeans) Εχω φτιάξει μια βάση με τους χρήστες και έχω καταφέρει να πιστοποιώ τους χρήστες με τη βάση μου. Ώς τώρα αυτό που έχω φτιάξει καταφέρνω να ανακατευτθύνω τους χρήστες που έβαλαν σωστά στοιχεία Login, αλλά αν πχ κάνεις copy paste τη διεύθυνση και τη στείλεις αλλού, ο άλλος τη βλέπει. Εγώ θέλω να μην γίνεται αυτό..

 

μπορεί κάποιος να με βοηθήσει (είτε μέσω skype είτε από δω?) ΑΑΑ επίσης δεν ξέρω πως να κάνω και Logout

 

ευχαριστωωωωωωωωωωωωωω ^_^

 

 

 

Δημοσ.

Έστω login.jsp η σελίδα που κάνεις login και page1.jsp, page2.jsp, page3.jsp, κλπ οι σελίδες των χρηστών 1,2,3, κλπ.

 

Αν ΧΩΡΙΣ να εχω περάσει απο την login.jsp μπορώ να μπω στις σελίδες page1.jsp, page2.jsp, κλπ ; Αν δηλαδή μου δώσεις απευθείας τις διευθύνσεις, μου επιτρέπει να δω το περιεχόμενο των σελίδων page1.jsp, page2.jsp ;

 

Αν ως χρήστης 2, έχω κάνει login και με ανακατευθύνεις στη σελίδα page2.jsp, τότε αν μου δώσεις απευθείας link για τις υπολοιπες σελίδες page1.jsp, page3.jsp, Κλπ μου επιτρέπει το συστημα να δω το περιεχόμενο;

 

Τέλος με ποιο τρόπο κάνεις ταυτοποίηση του χρήστη; Με cookie; Με session; Με συνδυασμό; Κάπως αλλιως;

 

Το logout εξαρτάται από τον τρόπο πιστοποίησης και Login

Δημοσ.

Αν ΧΩΡΙΣ να εχω περάσει απο την login.jsp μπορώ να μπω στις σελίδες page1.jsp, page2.jsp, κλπ ; Αν δηλαδή μου δώσεις απευθείας τις διευθύνσεις, μου επιτρέπει να δω το περιεχόμενο των σελίδων page1.jsp, page2.jsp ;

 

Ναι μπορείς.

 

Ως τώρα αυτό που έχω κάνει είναι να ταυτοποιώ αν τα στοιχεία που έδωσε ο χρήστης είναι σωστά με αυτά της βάσης. Αν είναι σωστά του στέλνω την σελίδα page1.jsp αλλιώς του ξανα εμφανίζω την login.jsp

Δημοσ.

Άρα το πρώτο που πρέπει να δεις ειναι να κλειδώσεις τις page1.jsp, page2.jsp Κλπ ώστε να μην μπορεις να δεις το περιεχόμενο αν ο χρήστης δεν εχει κάνει ταυτοποίηση. Το οτι κάνεις ταυτοποίηση το όνομα/κωδικό δεν είναι αρκετό. Πρέπει με κάποιο τρόπο (cookie, session, Κλπ) αποθηκεύεις την τατυτοποίηση ώστε ο χρήστης να ελέγχεται σε κάθε εσωτερική σελίδα.

 

Να στο πω διαφορετικά. Όπως το έχεις κάνει τωρα ειναι σαν το σπίτι σου να εχει πόρτα με κλειδιά αλλά ορθάνοιχτα παράθυρα. Πρέπει να κλείσεις τα παράθυρα και αν κάποιος δεν εχει κλειδί να μην μπορεί να μπει μέσα. Το επομενο βήμα ειναι το συγκεκριμένο κλειδί για κάθε χρήστη να ανοιγει την κεντρική πόρτα αλλά και συγκεκριμένες εσωτερικές πόρτες.

Δημοσ.

με session μαλλον θα ταν καλύτερα (γιατί αν ο άλλος έχει απενεργοποιήσει τα cookies?)

 

μπορείς να μου παραθέσεις ένα παράδειγμα με κώδικα για να καταλάβψ κ να το χρησιμοποιήσω?

σευχαριστώ!

Δημοσ.

Να κάτσω να γράψω κώδικά παράδειγμα είναι ολιγον too much. Google it. Αυτό ειναι ο σκοπός της εργασίας. Αυτό που χρειάζεται είναι οτι σε κάθε σελιδα page1.jsp, page2.jsp, κλπ πρέπει πάνω πάνω να ελέγχει αν ο χρήστης εχει ενεργό session/cookie και αν εχει να του δείχνει το περιεχόμενο της σελίδας, αλλιως να τον ανακατευθύνει στην login.jsp.

 

Μην απορρίπτεις τα cookies. Είναι πιο ευκολο, άλλωστε τα session cookies ειναι αρκετά πρακτικά. Αν θες βεβαια να είσαι προγραμματιστικά εντάξει τοτε πρέπει στην Login να εξετάζεις αν ο χρήστης δεχεται cookies (αν δεν εχει cookie, τοτε χωσιμο cookie και ανακατευθυνση σε άλλη σελίδα και ελεγχος) και αν δεν δεχεται cookie τοτε του λες με μεγαλο μήνυμα «ενεργοποίησε τα cookies μή σε βάλω να φας παστή σαρδέλα»

Δημοσ.

Καταρχήν γιατί ταλαιπωρείς τον εαυτό σου και γράφεις με .jsp; Καλύτερα μεσαιωνικά βασανιστήρια. Ο κόσμος γράφει πλέον με .jsf και Managed Beans. (Εκτός αν είναι συγκεκριμένη απαίτηση τoυ μαθήματος...αλλά έλεος αν κάνει ακόμα JSP.)

 

Δεύτερον υπάρχουν δυο λογικές. Στην μία κάθε φορά που ζητάει ο client μια σελίδα πρέπει το session του να ελέγχει αν είναι logged-in, και να τον κάνει redirect. Αστα να πανε δηλαδή.

 

Το καλύτερο είναι να κάνεις server based authentication. Με 5 ρυθμίσεις ξεμπερδεύεις και τα αναλαμβάνει όλα ο App-server. 

 

http://www.javacodegeeks.com/2013/02/jdbc-realm-and-form-based-authentication-with-glassfish-3-1-2-2-and-primefaces-3-4.html

 

Το παράδειγμα βέβαια χρησιμοποιεί JSF, οπότε ξεκίνα να διαβάζεις.

 

(Άν είναι υποχρεωτικό πάντως το JSP, άνετα υλοποιείς αυτό το παράδειγμα και με JSP).

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...