使用cookie获取用户信息,长时间不用重新登录

问题描述

在login页面:SaveCookie(FormsAuthentication.GetAuthCookie(model.UserName,false),90)publicstaticvoidSaveCookie(HttpCookiecookie,intexpireDays){stringcookieDomain="";stringcurrentURL=HttpContext.Current.Request.Url.AbsoluteUri;RegexmatchNotTLD=newRegex("[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)+$",RegexOptions.Compiled|RegexOptions.IgnoreCase);if((matchNotTLD.IsMatch(cookieDomain))&&(currentURL.IndexOf(cookieDomain)>-1)){cookie.Path="/";cookie.Domain=cookieDomain;}cookie.Expires=DateTime.Now.AddDays(expireDays);HttpContext.Current.Response.Cookies.Add(cookie);}在HttpModule:IHttpModule中获取cookieif(HttpContext.Current.User!=null&&HttpContext.Current.User.Identity.IsAuthenticated){HttpContext.Current.User.Identity.Name;......}在本机用visual2008调试时,HttpContext.Current.User.Identity.Name隔天都可以获取用户信息,但是发布到服务器空间时,过几十分钟后就获取不到了,必须重新登录。

解决方案

解决方案二:
Add调用完了再调用Set,多试试呢,馊主意
解决方案三:
使用Cookie实现密码记忆功能示例<asp:CheckBoxID="ckbauto"runat="server"Text="记住密码"/>//前台设置是否记住密码protectedvoidButton1_Click(objectsender,EventArgse)//cs页面设置记忆功能{if(txtname.Text.Trim().Equals("mr")&&txtpwd.Text.Trim().Equals("mrsoft")){Session["username"]=txtname.Text.Trim();if(ckbauto.Checked){if(Request.Cookies["username"]==null){Response.Cookies["username"].Expires=DateTime.Now.AddDays(30);Response.Cookies["userpwd"].Expires=DateTime.Now.AddDays(30);Response.Cookies["username"].Value=txtname.Text.Trim();Response.Cookies["userpwd"].Value=txtpwd.Text.Trim();}}//codego.net/15/1/1/Response.Redirect("admin.aspx");}else{ClientScript.RegisterStartupScript(this.GetType(),"","alert('用户名或密码错误!');",true);}}
解决方案四:
参考记住密码功能就行了,就写入cookie就行了

时间: 2024-09-16 02:24:47

使用cookie获取用户信息,长时间不用重新登录的相关文章

kailuoa-我是CSDN用户好长时间没有上这个网了,说我的证书过期,不知如何恢复,我很想上这个网站。

问题描述 我是CSDN用户好长时间没有上这个网了,说我的证书过期,不知如何恢复,我很想上这个网站. 我过去一般下载文件都在这个网上下载,后来说我的证书过期了,下载文件也下载不了,因为该网站很少有广告干净.希望能帮忙,多谢. 解决方案 或者,如果你用IE,有个忽略的,不用理会. 解决方案二: 重置下浏览器就可以了. 解决方案三: passport是https的. 解决方案四: 应该是系统时间不在电脑锁设定的区间内,把电脑右下方的时间重新设置下就可以了吧 解决方案五: 都没有Https开头的网址,怎

微信开发笔记——微信网页登录授权,获取用户信息

原文:微信开发笔记--微信网页登录授权,获取用户信息 微信网页授权,获取用户的微信官方API文档地址:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html 三次握手微信认证流程(我自己简称三次握手): 1.用户同意授权,获取code 2.通过code换取网页授权access_token,用户openId等信息 3.通过access_token和用户的openId获取该用户的用户信息 思路: 经过研究,我这边的思

asp.net版微信网页登录授权,获取用户信息例子

asp.net版微信网页登录授权必须要是微信公众号并且类型为"服务号" 首先大家要看下微信的API文档. 微信网页授权,获取用户的微信官方API文档地址: http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html 微信认证流程: 1 第一步:用户同意授权,获取code 2 第二步:通过code换取网页授权access_token 3 第三步:刷新access_token(如果需要) 4 第四步:拉取用户信

PHP版微信第三方实现一键登录及获取用户信息的方法_php技巧

本文实例讲述了PHP版微信第三方实现一键登录及获取用户信息的方法.分享给大家供大家参考,具体如下: 注意,要使用微信在第三方网页登录是需要"服务号"才可以哦,所以必须到官方申请. 一开始你需要进入微信公众平台开启开发模式,并且填写oauth2的回调地址,地址填写你项目的域名就可以了.比如:www.baidu.com或zhidao.baidu.com.如果你的项目在二级域名就写二级域名 前端url授权地址,在url中填写appid与你项目中方法中的oauth的地址,具体在下面的代码中可以

微信开发之网页授权获取用户信息(二)_php实例

在公众号的配置过程中,许多开发者会在菜单中加入HTML5页面,有时在页面内需要访问页面的用户信息,此时就需要网页授权获取用户基本信息 提醒大家:本文介绍讲述的内容是基于yii2.0框架 1.设置授权回调域名:开发 ---> 接口权限 找到"网页授权获取用户基本信息",点击后面对应的"修改",在弹框响应位置填写授权回调域名即可,此处的域名不需要加http:// (关于网页授权回调域名的说明详情可参考公众平台开发者文档) 2.获取授权 关于OAuth2.0博主参考

PHP版微信第三方一键登录及获取用户信息开发教程

注意,要使用微信在第三方网页登录是需要"服务号"才可以哦,所以必须到官方申请. 一开始你需要进入微信公众平台开启开发模式,并且填写oauth2的回调地址,地址填写你项目的域名就可以了.比如:www.baidu.com或zhidao.baidu.com.如果你的项目在二级域名就写二级域名 前端url授权地址,在url中填写appid与你项目中方法中的oauth的地址,具体在下面的代码中可以看到. <ahref="https://open.weixin.qq.com/con

微信公众号开发之授权获取用户信息

微信开发交流群:148540125 系列文章参考地址 极速开发微信公众号 欢迎留言.转发 项目源码参考地址 点我点我–欢迎Start 前几篇文章已讲完如何导入项目,如何启动配置项目,如何成为开发者,重源码分析消息是如何交互.如何自定义菜单(如果以上不是很清楚可以看这里 极速开发微信公众号.这篇文章就来聊聊授权获取用户信息 一.什么是OAuth2.0 这里整理了一篇文章 理解OAuth2.0 二.微信公众平台OAuth2.0授权详细步骤 用户关注微信公众账号(现在也可以不关注). 微信公众账号提供

SharePoint 2013 APP开发示例 (二)获取用户信息

这个示例里,我们将演示如何获取用户信息: 1. 打开 Visual Studio 2012. 2. 创建一个新的  SharePoint 2013 app: UserProfileTest. 3. 选择SharePoint-hosted, 点Finish. 4. 打开Default.aspx : 加入knockoutjs和sp.userprofiles.debug.js(包含user profile的信息): <script type="text/javascript" src=

php curl登陆qq后获取用户信息时证书错误

这篇文章主要介绍了php curl登陆qq后获取用户信息时证书错误,需要的朋友可以参考下 今晚开放ecmall商城的QQ登陆功能,在回调时产生错误,file_get_contents函数执行时,没有抓取到正确的信息,于是改用curl,但是提示证书错误. 在网上找到了解决方法,就是去掉证书认证. 代码如下: curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE)