Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Forms Authentication expiration

Îåêßíçóå áðü ôï ìÝëïò aero. Τελευταία δημοσίευση από το μέλος aero στις 23-08-2010, 17:36. Υπάρχουν 8 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  24-06-2010, 14:56 59274

    Forms Authentication expiration

    Καλησπέρα!

    Εχω φτιάξει μια web application και έχω δηλώσει Forms Authentication με τα παρακάτω στο web.config

    <authentication mode="Forms">

    <forms name=".ASPXFORMSAUTH" loginUrl="~/Login.aspx" timeout="30" slidingExpiration="true" cookieless="AutoDetect" protection="All" requireSSL="false" enableCrossAppRedirects="false" defaultUrl="Default.aspx" domain="το domain.gr" path="/" />

    </authentication>

    <authorization> <deny users="?"/> </authorization>

    Στην σελίδα Login.aspx χρησιμοποιώ τον παρακάτω κώδικα για να φτιάξω το tickets και τα cookies.

    FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, "name", System.DateTime.Now, System.DateTime.Now.AddMinutes(30), isPersistent, "", FormsAuthentication.FormsCookiePath);

    string encryptedTicket = FormsAuthentication.Encrypt(authTicket);

    HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);

    authCookie.Expires = DateTime.Now.AddMinutes(30);

    ΗttpContext.Current.Response.Cookies.Add(authCookie);

    Response.Redirect("~/Default.aspx");

    Το πρόβλημα που αντιμετωπίζω είναι ότι ενώ το cookie δημιουργείται στον browser μου, άν αφήσω ανενεργή την εφαρμογή για μερικά λεπτά (πολύ λιγότερα απο τα 30 που δηλώνω) με αναγκάζει πάλι να ξανακάνω Login.

    Αν κλείσω τον browser και ξαναμπώ με βάζει απευθείας χωρίς Login (μιας και το cookie είναι persistent). Την ιδια συμπεριφορά όσον αφορά την λήξη αντιμετωπίζω και με non persistent cookies.

    Τι μπορεί να προκαλεί αυτό το πρόβλημα;

    Ευχαριστώ

     


    Αν γευτείς την πτήση για πρώτη φορά, περπατάς στην Γη και έχεις στραμμένα τα μάτια σου προς τον ουρανό. Γιατί εκεί ανήκεις και εκεί λαχταράς να επιστρέψεις ... Leonardo Da Vinci
  •  24-06-2010, 16:07 59275 σε απάντηση της 59274

    Απ: Forms Authentication expiration


    Για δες αυτό το Post, του Scott Gu.

    http://weblogs.asp.net/scottgu/archive/2005/11/08/430011.aspx

    είναι βέβαια για asp.net 2.0....

    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
  •  24-06-2010, 17:23 59276 σε απάντηση της 59275

    Απ: Forms Authentication expiration

    Νίκο, τί να δει σε αυτό το post? Ο Scott Guthrie λέει ότι το timeout αλλάζει από το timeout attribute. Ο aero λέει ότι παρότι έχει βάλει 30 του ζητάει login πολύ νωρίτερα. Αναφέρεσαι σε κάτι στα comments? Σε κάτι άλλο?

    Δεν βοηθάς όταν ρίχνεις ένα link χωρίς να περιγράφεις έστω τί να δει κανείς εκεί. Το post έχει καμμιά 50αριά comments, σε τί αναφέρεσαι εσύ?


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  24-06-2010, 17:36 59277 σε απάντηση της 59276

    Απ: Forms Authentication expiration


    Λέει κάτι παραπάνω από αυτό. Αν και δεν το διευκρίνησα, θεώρησα ότι θα έριχνε ο φίλος μια ματιά στα comments....

    βάλε το timeout = 129600 (90 μέρες) και δες το αποτέλεσμα

    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
  •  24-06-2010, 17:43 59278 σε απάντηση της 59277

    Απ: Forms Authentication expiration


    κάτι μου έτυχε και πρέπει να φύγω, αλλά με λίγο googling βρήκαι και αυτό εδώ

    Θα το δω πιο διεξοδικά το βράδυ και θα επανέλθω.

    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
  •  24-06-2010, 19:51 59279 σε απάντηση της 59274

    Απ: Forms Authentication expiration

    Κοίταξε να δεις... τα σενάρια αστοχίας του Forms Authentication περιγράφονται εδώ. Εξέτασε μήπως κάποιο από αυτά συμβαίνει στη δική σου περίπτωση. Πέραν τούτου, ωραίες πηγές που βρήκα για authentication είναι οι εξής:

    1. Forms-based Authentication
    2. Understanding the Forms Authentication Ticket and Cookie
    3. Explained: Forms Authentication in ASP.NET 2.0

    Επίσης, νομίζω ότι είναι περιττό στο authCookie που φτιάχνεις να ξαναορίσεις την τιμή του Expires property.


    Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!
  •  24-06-2010, 22:29 59280 σε απάντηση της 59277

    Απ: Forms Authentication expiration

    Ευχαριστώ για τις υποδείξεις σας. Νίκο δοκίμασα το timeout = 129600 (90 μέρες) αλλά η συμπεριφορά παραμένει η ίδια. Το δεύτερο Post αναφέρει ότι τα web.config settings μπορούν να γίνουν override απο τον κώδικα κάτι το οποίο εγώ κάνω δηλώνοντας όμως το ίδιο χρονικό περιθώριο. Θα ψάξω και τις υποδείξεις απο τα άλλα posts και θα επανέλθω.


    Αν γευτείς την πτήση για πρώτη φορά, περπατάς στην Γη και έχεις στραμμένα τα μάτια σου προς τον ουρανό. Γιατί εκεί ανήκεις και εκεί λαχταράς να επιστρέψεις ... Leonardo Da Vinci
  •  23-08-2010, 10:12 59711 σε απάντηση της 59274

    Απ: Forms Authentication expiration

    Δεν ξέρω αν ήδη έλυσες το πρόβλημα με το πολύ γρήγορο timeout, αλλά επειδή κι εγώ ταλαιπωρήθηκα αρκετά με την ίδια συμπεριφορά, παραθέτω την λύση που βρήκα για κάθε ενδιαφερόμενο. 

    Χρειάζεται λοιπόν η δημιουργία ενός custom machine key στο web.config όπως περιγράφεται στο video αυτό: http://www.asp.net/security/videos/forms-login-custom-key-configuration
    Η σελίδα με τα αλφαριθμητικά που χρησιμοποιεί είναι η https://www.grc.com/passwords.htm

    Μετά από αυτές τις αλλαγές το expiration δουλεύει όπως ακριβώς τα ορίζεις είτε μέσω του web.config, είτε μέσω του @page directive είτε στον κώδικα όπως το έχεις κάνει ήδη.

    Ελπίζω να βοήθησα κάποιον.

    Μάκης
  •  23-08-2010, 17:36 59716 σε απάντηση της 59711

    Απ: Forms Authentication expiration

    Οντως η συμπεριφορά δείχνει να έχει σταθεροποιηθεί με την λύση που πρότεινες. Ευχαριστώ πολύ.


    Αν γευτείς την πτήση για πρώτη φορά, περπατάς στην Γη και έχεις στραμμένα τα μάτια σου προς τον ουρανό. Γιατί εκεί ανήκεις και εκεί λαχταράς να επιστρέψεις ... Leonardo Da Vinci
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems