我在登录时使用过MemberShipUser API我们正在验证用户并创建FormAuthentication
FormAuthentication.SetAuth(username, false);
现在如果用户没有注销并直接关闭浏览器,则不会调用FormAuthentication.SignOut方法。
因此,当我们重新打开网站时,用户已经登录。
答案 0 :(得分:1)
将超时值配置为适当的数字或使用cookie less forms authentication。
<system.web>
<authentication mode="Forms">
<forms loginUrl="Login.aspx"
protection="All"
timeout="30" <----------------------------Tune this
name=".ASPXAUTH"
path="/"
requireSSL="false"
slidingExpiration="true" <--------------------- Tune this
defaultUrl="default.aspx"
cookieless="UseDeviceProfile" <--------------------- Or Turn off cookies
enableCrossAppRedirects="false" />
</authentication>
</system.web>
http://msdn.microsoft.com/en-us/library/ff647070.aspx#pagexplained0002_cookielessforms
答案 1 :(得分:0)
身份验证Cookie仍然有效。当用户再次打开该站点时,cookie表示用户仍然登录。
你可以让cookie短暂存在,这样就更有可能过期了:
<authentication mode="Forms">
<forms loginUrl="Login/" timeout="5"/>
</authentication>
但是afaik,如果用户没有注销,他们将不会立即注销。
^^除非你没有使用像hasan-khan所说的cookie(它在查询字符串中传递一个看起来不太好看的id。)