form身份验证通过后,只能用FormsAuthentication.RedirectFromLoginPage_实用技巧

直接用Response.Redirect("default.aspx")的话当然验证失败,因为你根本没有建立身份验证票。FormsAuthentication.RedirectFromLoginPage方法,会自动完成很多功能的。如完成生成身份验证票,写回客户端,浏览器重定向等一系列的动作。当然完成这些功能并不是只有FormsAuthentication.RedirectFromLoginPage方法才能办到,相反如果需要带角色信息的验证则只能采用其他办法。
我门可采用手动添加身份验证票
1.
 
复制代码 代码如下:

FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket (1,"coffee",DateTime.Now, DateTime.Now.AddMinutes(20), false,UserRoles,"/") ;

注:UserRoles不知道就写""
2.加密序列化

复制代码 代码如下:

string HashTicket = FormsAuthentication.Encrypt (Ticket) ;

3.生成cookie

复制代码 代码如下:

HttpCookie UserCookie = new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket) ;
cookie.Domain = ".jb51.net";

4.身份验证票Cookie输出到客户端

复制代码 代码如下:

Response.Cookies.Add(UserCookie)

5.重定向

复制代码 代码如下:

Response.Redirect (Context.Request["ReturnUrl"]) ;

时间: 2024-09-27 02:01:52

form身份验证通过后,只能用FormsAuthentication.RedirectFromLoginPage_实用技巧的相关文章

asp.net 身份验证(最简单篇)_实用技巧

一般来说,网站的身份验证方式都会经过以下几个步骤: 1.输入用户名和密码,单击确定按钮. 2.在后台判断用户名和密码是否正确,如果错误返回提示:如果正确,进入可访问的页面. 在ASP时代,通常都会在验证用户名和密码是否匹配之后,创建一个Session,然后在每个需要验证的页面中判断Session是否存在,如果存在,则显示页面内容:如果不存在,产生提示,并跳转到登录页面. 但是,在asp.net时代,这个过程就给大大的减化了,不再需要在每个需要验证的页面中去校验Session,只需要进行如下几步,

asp.net中的窗体身份验证(最简单篇)_实用技巧

在创建网站中,常常会使用到身份验证.asp.net中内置了几种身份验证的方式,如Windows.Froms.Passport等.这几种身份验证的方式各有不同.一般来说,网站的身份验证方式都会经过以下几个步骤: 1.输入用户名和密码,单击确定按钮. 2.在后台判断用户名和密码是否正确,如果错误返回提示:如果正确,进入可访问的页面.  在ASP时代,通常都会在验证用户名和密码是否匹配之后,创建一个Session,然后在每个需要验证的页面中判断Session是否存在,如果存在,则显示页面内容:如果不存

asp.net forms身份验证,避免重复造轮子_实用技巧

问题:大家都说使用 forms 验证无法得到当前登录用户除了用户名之外的更多信息,经过我的一番小试验,在 forms 方式下自带的 userdata 可以为我们施展天地的地方.下面记录一下我的操作步骤备忘. step 1: web.config 配置关键地方: web.config配置 复制代码 代码如下: <!-- 通过 <authentication> 节可以配置 ASP.NET 用来 识别进入用户的 安全身份验证模式. --> <authentication mode=

form身份验证-IIS身份验证为什么是只读?

问题描述 IIS身份验证为什么是只读? 如图,Form身份验证是只读的,其他都是能够编辑的...如何把只读属性去掉? 解决方案 http://jingyan.baidu.com/article/e75057f2dfab93ebc91a8938.html

求助,Form身份验证问题

问题描述 我希望能保持1个月无需登录,票证声明如下:FormsAuthenticationTicketticket=newFormsAuthenticationTicket(2,userID,DateTime.Now,DateTime.Now.AddMonths(1),false,userInformation);将票证加密存入CookieWeb.config如此定义:<authenticationmode="Forms"><formsloginUrl="L

asp.net结合Ajax验证用户名是否存在的代码_实用技巧

1, 使用JavaScript js文件,验证用户名是否存在 复制代码 代码如下: var ajax = function(option) { var request; var createRequest = function() { //var request; if (window.XMLHttpRequest) { request = new XMLHttpRequest(); } else { try { request = new ActiveXObject("Microsoft.XM

.NET验证组件Fluent Validation使用指南_实用技巧

认识Fluent Vaidation. 看到NopCommerce项目中用到这个组建是如此的简单,将数据验证从业务实体类中分离出来,真是一个天才的想法,后来才知道这个东西是一个开源的轻量级验证组建.   Fluent Validation 翻译为:流畅验证   开源Codeplex其主页简介:该组件是一个轻量级的.NET类库,使用流畅的接口定义和lambda表达式为构建一个业务类的验证规则(A small validation library for .NET that uses a fluen

MVC使用极验验证制作登录验证码学习笔记7_实用技巧

       在之前的项目中,如果有需要使用验证码,基本都是自己用GDI+画图出来,简单好用,但是却也存在了一些小问题,首先若较少干扰线,则安全性不是很高,验证码容易被机器识别,若多画太多干扰线条,机器人识别率下降的同时,人眼的识别率也同步下降(震惊哭).更为重要的是,GDI+绘制的验证码一般来说也不会很美观,如果做一个炫酷的登陆界面却配了这样一个验证码,画风诡异,丑到极致.       再后来浏览网页的过程中,发现很多很多网站项目中都使用了一种叫极验验证的验证码,采用移动滑块的方式进行验证,方

ASP.NET中验证控件的使用方法_实用技巧

对于这些常用的控件有效性验证,在Asp.Net中有单独的验证控件可供使用.他们可以满足一般的,诸如非空,范围.比较等的验证,为用户登录页面添加输入数据验证功能和验证码功能.  验证控件:    Asp.Net中内置的验证控件有:RequiredFieldValidation.RangeValidation.RegularExpressValidation.CompareValidation.CustomValidation和ValidationSummary等六种.其中用户自定义验证控件,由于并