最近公司在接入整理单点登录方案的时候,选择了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. git怎么克隆远程仓库到本地仓库

    参考: https://blog.csdn.net/zhangzeshan/article/details/81564990 不知道为什么输入git的克隆地址就会提示密码错误 ,使用http地址就直接 ...

  2. vue踩坑之路--点击按钮改变div样式

    有时候,我们在做项目的时候,想通过某个按钮来改变某个div样式,那么可以通过以下代码实现: <!DOCTYPE html> <html> <head> <me ...

  3. Error from server at http://127.0.0.1:8983/solr/xxx: undefined field type

    undefined field type就是说没有定义type类型,这样情况下,可以新建一个带type的索引,比如:{type:1, id:1, name:"张三"}

  4. Windows压缩包安装MySQL

    一.下载zip版本 下载网址(如果浏览器下载很慢可以使用迅雷) http://dev.mysql.com/downloads/mysql/ 二.解压将得到的文件放置到任意目录 如果解压后的文件里没有d ...

  5. Problem 29

    Problem 29 Consider all integer combinations of ab for 2 ≤ a ≤ 5 and 2 ≤ b ≤ 5: 仔细看看以下a与b的组合 22=4, 2 ...

  6. Python网络爬虫之Scrapy框架(CrawlSpider)

    目录 Python网络爬虫之Scrapy框架(CrawlSpider) CrawlSpider使用 爬取糗事百科糗图板块的所有页码数据 Python网络爬虫之Scrapy框架(CrawlSpider) ...

  7. C# 派生类的XmlSerializer序列化XML

    近段对XML 序列化进行处理,用XmlSerializer这个挺好用的. 但是对于派生类对象的XML的生成总会报错.因为同一个节点名称,不能反射为不同的对象.这个在网上找了好久,都说要利用反射来处理. ...

  8. random随机库

    random库是用于产生并运用随机数的标准库 主要包含的有9个随机函数,分别是: seed(), random(), randint(), getrandbits(), randrange(), un ...

  9. deepin下使用python遇到的一些情况

    1.系统自带python2.7和python3.5,直接运行python默认的是2.7版本的 当然直接运行python的默认版本是可以修改的,参考这里 然后可能需要3.6版本的话,就直接在命令行输入 ...

  10. VNC Server Installation on CentOS 6.5

    In my case I have a fresh installed CentOS6.5 Server on which I will be installing the VNC-server so ...