最近公司在接入整理单点登录方案的时候,选择了CAS方案,实际版本采用了4.0。当我们把服务端附属完毕,基于.NET平台Web版的客户端DotNetCasClient进行定制化修改后,在测试环境通过。然而在正式生产环境下面出现了DotNetCasClient加载失败的提示,一看之下很纳闷,因为DotNetCasClient.dll已经添加引用了,这是为何呢?下面我们就来具体进行分析。、

  1.首先分析我们站点IIS部署情况,部署了一个web站点,并在站点下面挂在了一个虚拟站点,这个虚拟站点直向的使我们的资源文件。我们再看淡点接入是否Ok呢?在我们的开发以及测试环境下登录退出等似乎都没有问题,可以在访问我们的系统资源文件的时候报错了。起初先考虑难道是我们DotNetCasClient配置的时候需要过滤,针对静态资源访问的时候,听起来好像是这个道理,随后进行问题排查的时候,好像跟这个没有关系,那么问题出在哪里呢?

  2.这时我们再回头想想下,既然提示加载失败,要么这个文件找不到,要么这个文件的依赖找不到。那会不会是依赖文件缺失了呢?于是里面里面检查DotNetCasClient源码,观察引用依赖,发现也没有特殊的依赖,说明这个跟程序集依赖是没有关系的。

  3.这是回头想想我们的静态资源的发布形式,是通过虚拟站点挂在在主站点下面,而虚拟站点相当于一个独立的站点,这是想到了,虽然我们的主站点里面有了DotNetCasClient.dll引用,但是我们的虚拟站点里面没有这个引用,想到这儿,行动了,在虚拟站点根目录新建了bin文件夹,并把DotNetCasClient.dll拷贝进去。刷新网站通了,收工。

  4.为了避免静态资源访问权限问题给虚拟站点添加了相关权限控制,就这样搞定。

  总结:

  1.场景再现以及异常再现

  2.排查可能存在并发生异常的地方

  3.根据DotNetCasClient的执行机制,以及IIS站点部署实际场景具体排查缩小范围

  4.为防止可能存在的访问阻碍因素,添加访问权限控制

DotNetCasClient加载失败问题分析的更多相关文章

  1. git问题:git提交的时候总是提示key加载失败,总是需要手工将key加到Pageant中

    问题描述: 重装过一次系统,在重装之前git+tortoisegit配合很好,提交的时候都能自动加载ppk,但是重装系统后,也重新生成pulic key上传到了服务器,但是每次提交的时候都提示key加 ...

  2. insmod模块加载过程代码分析1【转】

    转自:http://blog.chinaunix.net/uid-27717694-id-3966290.html 一.概述模块是作为ELF对象文件存放在文件系统中的,并通过执行insmod程序链接到 ...

  3. gitbook 入门教程之解决windows热加载失败问题

    破镜如何贴花黄 gitbook 在 Windows 系统无法热加载,总是报错! gitbook 是一款文档编写利器,可以方便地 markdown 输出成美观优雅的 html ,gitbook serv ...

  4. 微信页面script标签添加crossorigin=“anonymous”导致页面加载失败

    公司一个微信企业号项目,突然出现页面数据加载失败,页面报错信息如下 意思是前端向服务端发送跨域资源请求访问这个js文件,但是服务端并不同意,所以服务端拒绝访问这个地址. 后来发现将crossorigi ...

  5. VS2013打开项目Web加载失败

    今天打开一个好久没打开过的老项目,发现web加载失败,如图: 然后重新加载项目,提示: 一开始直接在网上找答案,结果看的答案都不靠谱,只好自己动手了, 先看了 这里面是基础配置:大概看过后,又去看了提 ...

  6. 动态加载框架DL分析

    动态加载框架DL分析 插件化开发,主要解决三个问题1.动态加载未安装的apk,dex,jar等文件2.activity生命周期的问题,还有service3.Android的资源调用的问题 简单说一下怎 ...

  7. 如何解决SoftekBarcode.dll加载失败的问题

    本文转自:慧都控件网 Softek Barcode Reader Toolkit是专门从事于条形码读取技术的软件公司Softek旗下一款著名的条码读取工具包.最近有部分用户反映在运行此工具包时会遇到“ ...

  8. 解决父类加载iframe,src参数过大导致加载失败

    原文:解决父类加载iframe,src参数过大导致加载失败 <iframe src="*******.do?param=****" id="leftFrame&qu ...

  9. 关于 mobile sui a外链 老是出现加载失败的解决办法

    mobile sui 框架里面的a本身都绑了了一个ajax方法,ajax只能处理同域,跨域就会出现问题 ,所以mobile sui 中的a如果是外链的话就会出现加载失败的提示,这种明显的bug,让用户 ...

随机推荐

  1. 如何让字体大小<12px

    transform:scale( ) -webkit-transform:scale( )  

  2. bootstrapValidator代码中开启验证和判断验证是否通过

    //开启验证 $('#saveadmin_form').data('bootstrapValidator').validate(); //是否通过校验 if(!$('#saveadmin_form') ...

  3. 阅读《JavaScript设计模式》第三章心得

    简单工厂模式 1.通过类实例化对象创建 传统的用面向对象方法去创建很多类去实现某些功能不妥当,这样不仅占用的很多类名称,而且别人使用这些方法的同时要记住每个类的名字,所以这样不适合团队开发,所以我们可 ...

  4. JAVA学习总结-基础语法

    /** * 这篇文章供自己学习JAVA总结回顾使用 * 主要借鉴了马士兵老师的视频进行总结 * @author Kingram */ 标识符的概念和命名规则 JAVA常量---不可变的变量 程序的执行 ...

  5. Linux之FTP/TFTP(vsftp、vsftpd) HTTP(httpd、apache) DHCP(dhcpd)

    FTP/TFTP(vsftp.vsftpd): FTP是File Transfer Protocol(文件传输协议)而中文简称为"文传协议".用于Internet上的控制文件的双向 ...

  6. Django基础配置

    安装djangopip install Django==1.11.4进入pythonimport django查看版本号django.get_version()创建项目,在合适位置创建一个目录进入你要 ...

  7. 【Codeforces 1106D】Lunar New Year and a Wander

    [链接] 我是链接,点我呀:) [题意] 让你遍历n个节点,访问过的节点不操作. 如果是没有访问过的点,那就把它加到序列的末尾. 问你形成的最小字典序的序列是多少. [题解] 显然每次找最小的标号 用 ...

  8. 【郑轻邀请赛 A】tmk射气球

    [题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2127 [题意] [题解] 把气球和飞艇所代表的直线投影到xoy面上 设气球所在位置为 ...

  9. Java SE 之 递归方法

    public void removeSon(String id, List<Dept> deptList) { String hql = "from Dept where par ...

  10. EntityFramewordCore 2.2 DBFirst简单使用

    如何用EF Core连接数据库并且生成实体类? 1.通过Nuget安装依赖 Install-package Microsoft.EntityFrameworkCore Install-package ...