Automatické odhlašování   zodpovězená otázka

ASP.NET WebForms

Ahoj,mám stránky, kde je možnost se i přihlásit. Jenže, když například jdu psát příspěvek do fóra.... píšu ho jen několik málo minutek a dám odeslat... automaticky mě to odhlásí. Zkoušel jsem změnit timeOut na 60... ale moc mi to nepomohlo, prostě po pár minutách mě to hnedle odhlásí. Lze nějak nastavit, aby mě to neodhlašovalo vůbec? Díky za rady.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

TO se samozrejme nastavit da.

System.Web.Security.FormsAuthentication.SetAuthCookie("treba_username", True)

Dulezite je nastaveni vlastnosti CreatePersistCookie na True.

Btw pokud mate ve web.config nastaveny timeout asi takto

<authentication mode='Forms'>
     <forms name='AuthCookie' timeout='60' protection='All' RequireSSL='false" path='/'>
     </forms>
</authentication>

tak by stim nemel byt problem.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jejda sem nebyl prihlasenej :]. jinak ty uvozovky maj byt samozrejme normalni "" a ne jednoduche :]

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Když vložím tyto dva kusy kódu do projektu, tak už mě to nebude odhlašovat?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Musíte je vložit na správné místo do souboru web.config, patří to do sekce system.web. Dejte pozor, abyste tam element authentication neměl dvakrát!

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jen abych to správně pochopil.

Tato část kódu, jak jsem koukal na MSDN by měla zařídit, jestli jsem to správně pochopil, aby se to řídilo z Cookies, zda má zůstat uživatel přihlašen nebo ne.


<authentication mode="Forms">
     <forms name="AuthCookie" timeout="60" protection="All" RequireSSL="false" path='/'>
     </forms>
</authentication>

Ale nač tam je toto a kam to mám vložit, by mělo stačit, aby to bylo například MasterPage?

System.Web.Security.FormsAuthentication.SetAuthCookie("treba_username", True)

Asi jsou to hloupé dotazy, ale jsem začátečník a snažím se věci pochopit, abych se příště nemusel zas ptát. Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To jste asi zas tak dobre nepochopil.

pokud mate nastaveny timeout ve web.config na tech "60" jak sem si vymyslel. Tak to rika, ze po uspesnem prihlaseni bude u clienta ulozena autorizacni cookie a jedinej rozdil je v tom na jakou dobu se ji nastavi expirace.

Tzn. ze pokud nastavite trvale prihlaseni, tenhle timout je ignorovan. Pokud ale nebudete chtit trvale prihlaseni, autorizacni cookie dostane expiraci na 60 minut.

Cili prvni odpoved na vasi otazku. I kdyby jste si tam nenastavil timeout tak se veme default nastaveni a to je tusim 20 min. Tagze toto nastaveni neridi zadne cookies =] pouze dosazuje datum expirace za predpokladu ze chci casove vyprseni prihlaseni.

Add 2]

Ten druhy kod je vam k tomu pokud delate vlastni prihlasovaci stranku. Vy zrejme pouzivate ten hotovy login asp.net control "Login" tak se vas to netyka.

P.S.: Do MasterPage by jste programovej kod moc cpat nemel. Vsude jinde mu bude lip nez tam :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Používám Altairis.Web.Providers jako providera a přihlašuji se pomocí Controlu login. Nastavil jsem web config, jak jste napsal, ale furt mě to odhlašuje hrozně brzy.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Skuste blize specifikovat tu vasi "kratkou" dobu. Co mate za prohlizec ?. Jinak pokud zavrete prohlizec a nedal jste trvale prihlaseni (remember me) tak budete odhlasen i za 10 sekund se zavrenim prohlizece.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Příklad. čtu nějaký článek například 30 minut a jakmile po přečtení někam kliknu, automaticky mě to odhlásí. Nebo když píšu nějaký delší příspěvěk do fóra a když ho chci odeslat - opět jsem odhlášen. Většinou to je něco přes 25 minut, co jsem tak postřehl.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vtom pripade bych to videl ze se vam porad drzi to defaultni nastaveni coz je tech 20 minut.

Pokud mate pristup k nastaveni webservru tak ve vlastnostech a nastaveni ASP.NET je zalozka "Authentication" a tam si ten cookie timeout muzete naklikat a on vam to vlozi do vaseho web.config sam. Pokud tuto moznost nemate tak nezbyva nez uprava jak sem popsal vyse skuste tam dat treba misto 60 treba 120. Melo by to fungovat hned po prvnim pozadavku na stranku ale kdyz ne skusil bych pripadne restart iis z konzole (pokud mate tu moznost).

Take by stalo za zminku zjistit jeslty to dela pouze vam, nebo vice lidem. Treba je to z nejakeho duvodu vasim prohlizecem. skuste v ramci testovani pouzit i jiny.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Právě že to dělá i více lidem. Zkusím si ještě pohrát s tím webconfig. Mám Basic hosting u QSH, takže moc toho vyvést nemůžu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

funkcni priklad we web.config


<system.web>
  <authentication mode="Forms">
    <forms name=".ASPXAUTH"
    loginUrl="login.aspx"
    protection="All"
    timeout="50000000"
    path="/"
    requireSSL="false"
    slidingExpiration="true"
    cookieless="AutoDetect" />
  </authentication>
</system.web>

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Díky moc, snad to už bude dobré.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback