1.网站出现form认证不定时认证失败。登陆过后 每隔一会儿就需要重新登陆。首先检查的是form身份认证票据设置的时间(正常) 然后检查加密后的身份认证信息写入的cookie的失效时间(正常)

2.这个时候的想法是服务器是否加了一层代理。导致代理向服务器发送身份认证cookie信息失败,或者是服务器返回身份认证信息cookie  经过代理转发给客户端的时候代理经过包装。第二次发向代理 代理认为失效了 不向上层转发(host内网 排除)

3.在asp.net 事件管道的begin_resquest  打印requset 封装的cookie信息(存在)  在身份认证信息事件管道(第二个事件管道)打印(无效)

4.这个时候发现是asp.net框架对身份认证cookie认证失败。。(票据有效时间过了 排除)

5.了解身份认证原理

登陆时:

1. 检查用户提交的登录名和密码是否正确。
         2. 根据登录名创建一个FormsAuthenticationTicket对象。
         3. 调用FormsAuthentication.Encrypt()加密。(每次程序启动都会随机生成一个加密字符串。根据这个加密字符串加密和解密)
         4. 根据加密结果创建登录Cookie,并写入Response。

每次身份认证:

1. FormsAuthenticationModule尝试读取登录Cookie。
         2. 从Cookie中解析出FormsAuthenticationTicket对象。过期的对象将被忽略。(解析是通过 登录时的加密字符串进行解析)
         3. 根据FormsAuthenticationTicket对象构造FormsIdentity对象并设置HttpContext.User
         4. UrlAuthorizationModule执行授权检查。

6.发现iis的web程序  处理的进程数改成了5个进程

分析:进程之间数据是不能共享的。那么每个进程生成的随机加密字符串都不一样。假如有进程a 和b2个进程 登陆是进程a处理 ,其他请求是进程b处理 通过b的加密字符串解析a的加密字符串加密的身份认证信息(失败) 导致登陆失败

解决 配置web的加密字符串 不使用随机

asp.net form身份认证不定时认证失败的问题 排查的更多相关文章

  1. ASP.NET Form身份验证方式详解

    注:不会涉及ASP.NET的登录系列控件以及membership的相关话题, 我只想用比较原始的方式来说明在ASP.NET中是如何实现身份认证的过程.   ASP.NET身份认证基础 在开始今天的博客 ...

  2. asp.net 身份验证-Form 身份验证

    一. .net身份验证简介 1.身份验证就是检测用户是否登录及所访问的资源是否有权限.当我们在访问一个受保护网络资源时,往往需要输入用户名.密码信息,或通过其他证书.第三方身份验证等方式.验证(Aut ...

  3. 细说ASP.NET Forms身份认证

    阅读目录 开始 ASP.NET身份认证基础 ASP.NET身份认证过程 如何实现登录与注销 保护受限制的页面 登录页不能正常显示的问题 认识Forms身份认证 理解Forms身份认证 实现自定义的身份 ...

  4. 简单的ASP.NET Forms身份认证

    读了几篇牛人的此方面的文章,自己也动手做了一下,就想有必要总结一下.当然我的文章质量自然不能与人家相比,只是写给从没有接触过这个知识点的朋友. 网站的身份认证我以前只知道session,偶然发现一些牛 ...

  5. 【转】权限管理学习 一、ASP.NET Forms身份认证

    [转]权限管理学习 一.ASP.NET Forms身份认证 说明:本文示例使用的VS2017和MVC5. 系统无论大小.牛逼或屌丝,一般都离不开注册.登录.那么接下来我们就来分析下用户身份认证. 简单 ...

  6. ASP.NET Forms身份认证详解

    ASP.NET身份认证基础 在开始今天的内容之前,我想有二个最基础的问题首先要明确: 1. 如何判断当前请求是一个已登录用户发起的? 2. 如何获取当前登录用户的登录名? 在标准的ASP.NET身份认 ...

  7. 细说ASP.NET Forms身份认证 别人写的不过很透彻就转来了以后用时再看

    阅读目录 开始 ASP.NET身份认证基础 ASP.NET身份认证过程 如何实现登录与注销 保护受限制的页面 登录页不能正常显示的问题 认识Forms身份认证 理解Forms身份认证 实现自定义的身份 ...

  8. IE11下ASP.NET Forms身份认证无法保存Cookie的问题

    IE11下ASP.NET Forms身份认证无法保存Cookie的问题 折腾了三四天,今天才找到资料,解决了. 以下会转贴,还没来得及深究,先放着,有空再学习下. ASP.NET中使用Forms身份认 ...

  9. 关于Asp.Net Forms身份认证

    Asp.Net管道式的构建个我们提供了通过IHttpMoudle来订阅管线事件来达到干预HTTP请求的目的,Asp.Net的身份认证正是通过此种方式来对请求来执行身份认证的,这篇文章仅仅谈论Forms ...

随机推荐

  1. Python绘制PDF文件~超简单的小程序

    Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http:// ...

  2. couchDB文档

    每个文档都是自包含的数据单元,是一系列数据项的集合. 每个数据项都有一个名称与对应的值,值既可以是简单的数据类型,如字符串.数字和日期等:也可以是复杂的类型,如有序列表和关联对象. 每个文档都有一个全 ...

  3. Html--表单练习

          <!--文档定义一定要带上,因为浏览器在解析的时候先按照文档定义的格式解析,   如果没有就按照浏览器默认的格式解析,可能会出问题.-->   <html>   & ...

  4. Unable to open the physical file xxxx. Operating system error 2

    在新UAT服务器上,需要将tempdb放置在SSD(固态硬盘)上.由于SSD(固态硬盘)特性,所以tempdb的文件只能放置在D盘下面,而不能是D盘下的某一个目录下面. ALTER  DATABASE ...

  5. C语言--乱写C语言

    C语言的语法太枯燥了 换个写法   #include <stdio.h> #include<stdlib.h> #define end } #define if(x) if ( ...

  6. MySQL(三)

    MYSQL(三) 上一章给大家说的是数据库的视图,存储过程等等操作,这章主要讲索引,以及索引注意事项,如果想看前面的文章,url如下: MYSQL入门全套(第一部) MYSQL入门全套(第二部) 索引 ...

  7. MS Sql Server 数据库或表修复(Log日志文件损坏的修复方法)

    ----------------- [1] use master go sp_configure reconfigure with override go ----------------- [2] ...

  8. CentOS安装LNMP环境的基础组件

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 在安装LNMP环境之前,请确保已经使用yum安装了以下各类基础组件(如果系统已自带,还可以考虑yum update下基础组件): ...

  9. Google的Java常用类库 Guava资料

    java的人应该都知道Apache commons的java常用类库吧,这个Guava和commons一样,封装出一套比jdk本身提供的常用类库强大.既然有了这个这么强大的类库,我们就没必要重复造轮子 ...

  10. logback配置详解1

    一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文 ...