用户验证心得--基于FORMS的身份验证
来源:互联网 发布:mac安装炉石传说 编辑:程序博客网 时间:2024/05/14 11:44
我做了个项目,用户验证时用的SESSION,用户信息保存在SESSION里面,服务器运行一段时间后,在服务器负载大的时候,用户登录后用户信息经常丢失,后来我把用户验证改为了基于FORMS的验证后,基本上不会丢失用户信息了,我的软件框架设计为:
首先在Web.Config中将验证改为Forms,不允许匿名访问;
<authentication mode="Forms" >
<forms name=".MYOB_APP" loginUrl="loginout.aspx" protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="default.aspx" cookieless="UseDeviceProfile" enableCrossAppRedirects="false" />
</authentication>
<authorization >
<deny users="?" />
</authorization>
登陆验证时查询数据库,如果用户有效则建立用户票证:用户附加数据格式用名称值格式,多个数据用“;”分开。
string userdata = "BranchID:1;RoleID:1";
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, username, DateTime.Now, DateTime.Now.AddMinutes(30), false, userdata, FormsAuthentication.FormsCookiePath);
string encTicket = FormsAuthentication.Encrypt(ticket);
Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
在框架的页面基类里面将当前http请求中的将用户登录ID,和其他附加数据取出,再查询数据库,将当前用户的相关信息,以及相关需要缓存的数据取出,以备当前请求页逻辑使用。
FormsIdentity identity = (FormsIdentity)this.Page.User.Identity;
string userdata = identity.Ticket.UserData;
用户id就是 this.Page.User.Identity.Name
这样系统就完全不用SESSION验证了,如果用户没有登录或没有活动而超时系统自动将引导向loginout.aspx,在这个页面处理一些清理工作,再引导至登陆验证页面
- 用户验证心得--基于FORMS的身份验证
- 使用 Forms 身份验证的一点点心得
- Forms身份验证基于角色的授权
- Forms身份验证基于角色的授权
- Forms身份验证基于角色的授权
- Forms基于窗体身份验证
- Forms基于窗体身份验证
- FormsAuthenticationTicket基于forms的验证
- FormsAuthenticationTicket基于forms的验证
- FormsAuthenticationTicket基于Forms的验证
- FormsAuthenticationTicket基于forms的验证
- FormsAuthenticationTicket基于forms的验证
- 基于地理位置的用户身份验证
- 基于Forms验证的角色验证授权
- Forms身份验证的应用
- Forms身份验证以及基于角色的权限控制
- aps.net 基于Forms 带有角色的身份验证
- Asp.Net基于forms的验证机制
- 求变:改变自己,还是改变别人?
- acegi 作为 yale cas认证服务器的客户端在springside项目中的应用
- 玩转“网上邻居”之浏览服务原理(二)
- 开源EasyJFShoppingOnline项目正式公开邀请行业精英
- 日广告巨头看上博客 电通ADK合资专投博客
- 用户验证心得--基于FORMS的身份验证
- 改善游戏质量保证部门的10大诀窍
- Acegi安全系统详解
- 职场笔记[0709]:创业企业创造力都是被逼出来的
- 插件系统[6]·玩积木的程序员
- 驱动全球经济的六大趋势
- 《计算机游戏设计的艺术》第二章
- 编码讨论---乱码问题之终极解决
- 安装iis5.1时找不到zClientm.exe的解决方法