IIS访问共享文件详解
前言
公司同事做了一个报表系统,需要做集群部署,本来是一件挺容易的事,但是部署过程中却遇到啦种种蛋疼问题。
问题1、我们的报表使用的是微软的水晶报表,需要上传报表的配置文件,然后水晶报表提供的控件来读取文件,不支持直接图片服务器提供的http:www.xxxx.com/a.jpg。但是他支持\\192.168.10.11\ImgShare\a.jpg。
问题2、IIS使用共享文件的时候,出现权限问题致使c#无法访问到服务器共享文件。
那么这篇文章我就针对上面2个问题来展开IIS访问共享文件的实战详细过程。
环境说明
现有3台服务器:(192.168.10.121)A, (172.18.5.61)B, (172.18.5.54)C ;
A服务器:图片服务器,提供共享文件夹Ashare。
B,C两台服务器做IIS集群,部署报表系统,使用A提供的Ashare文件。
提醒下,如果B,C的程序是跑的IIS Express,访问A的Ashare没问题,但是使用IIS,就访问不到。不信你试试,下面讲解是让IIS也能访问到的全过程。
创建共享文件
首先建立共享文件,不要嫌弃,创建这里也给整理一下。
1、要共享出来的文件,右击属性:共享,加入用户权限。
2、来到172.18.5.61,B服务器,打开我的电脑,在空白处右击,添加网路位置:
验证A服务器的用户密码,然后就可以啦。
IIS创建虚拟目录
右击B服务器的当前站点,添加虚拟目录---连接为---特定用户:具体配置如下
这里需要注意的是,A文件共享服务器需要创建zlh用户名,B,C应用服务器也要创建同样的用户名zlh。谨记,必须!!
这里也必须是用图片服务器共享出来的用户,制定为特定用户。
c#程序是访问共享文件展示
这里做一个简单的示例程序,判断共享文件夹中的文件是否存在。
protected void Page_Load(object sender, EventArgs e)
{
var path = @"\FileShare\0.jpg";
//由于FileShare是A服务器的共享文件,这里解析的路径为:\\192.168.10.121\Ashare\0.jpg"
path = Server.MapPath(path);
var b= File.Exists(path);
Response.Write(b);
}
<body>
<div>
<img src="/FileShare/0.jpg" />
</div>
</body>
<system.web>
<!--<identity impersonate="true"/>-->
<identity impersonate="true" userName="zlh" password="sa,.0" />
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
这里需要注意的是:该站点也需要制定特定用户访问,且访问用户为共享目录提供的zlh用户。
结果展示:
至此,IIS访问共享文件的问题已经全部解决完成,你也可以搭建访问下试试。如果有问题,或有更多的解决方案分享,欢迎加入左上角的群,我们一起讨论解决。
这里我提问一个问题,是关于自己搭建文件服务器,那么文件的解压压缩功能,大家都是怎么做的?
IIS访问共享文件详解的更多相关文章
- Apache/Nginx/IIS 访问日志详解
Apache日志详解 1.Apache日志文件名称及所在路径 日志文件一般都是保存在在apache/logs目录下,实际情况可以根据Apache的配置文件去查找日志文件所在的路径. 例如phpstud ...
- IIS日志字段详解
IIS日志字段详解 抓住8月的尾巴,弥补下这个月的空白,事情太多,忘了写博客这回事了. IIS日志字段设置 网站运营时 ...
- SEO方式之HTTPS 访问优化详解
SEO到底要不要做HTTPS?HTTPS对SEO的重要性 正方观点 1.HTTPS具有更好的加密性能,避免用户信息泄露: 2.HTTPS复杂的传输方式,降低网站被劫持的风险: 3.搜索引擎已经全面支持 ...
- IIS 之 功能详解
IIS (Internet Information Services)信息服务管理器,本文以Windows10环境下的IIS为例,主要包含:FTP 服务器.Web 管理工具.万维网服务三大部分,如下表 ...
- SharePoint 开启网站匿名访问图文详解
SharePoint 开启网站匿名,需要先开启web application的匿名访问,然后开启site的匿名访问.特别的,site可以选择整个网站开启或者列表和库开启匿名,如果选择列表和库开启匿名, ...
- thinkphp四种url访问方式详解
本文实例分析了thinkphp的四种url访问方式.分享给大家供大家参考.具体分析如下: 一.什么是MVC thinkphp的MVC模式非常灵活,即使只有三个中和一个也可以运行. M -Model 编 ...
- Express在windows IIS上部署详解
最近公司在用Express+angularjs+wcf开发系统,让我在windows上部署系统,遇到不少问题,不过最后还是解决了,在IIS上部署系统, 首先windows需安装以下软件: 1.node ...
- scala 访问权限详解
private/protected [包名/类名/this] 即可指定变量的作用域.(this代表只有当前实例(即对象)可以访问) 伴生类和伴生对象中的成员可以相互访问. class PackageO ...
- Java的访问权限详解(3+1)public private protected default
Java使用三个关键字在类的内部设定访问权限:public.private.protected.这些访问指定词(access specifier)决定了紧跟其后被定义的成员(方法或属性)可以被谁使用. ...
随机推荐
- SQLSERVER走起微信公众帐号全新改版 全新首页
SQLSERVER走起微信公众帐号全新改版 全新首页 今天,SQLSERVER走起微信公众帐号增加了首页功能 虽然还是订阅号,不过已经对版面做了比较大的修改,希望各位亲用得放心.用得安心O(∩_∩)O ...
- 前端学HTTP之内容协商
前面的话 一个URL常常需要代表若干不同的资源.例如那种需要以多种语言提供其内容的网站站点.如果某个站点有说法语的和说英语的两种用户,它可能想用这两种语言提供网站站点信息.理想情况下,服务器应当向英语 ...
- 【C#代码实战】群蚁算法理论与实践全攻略——旅行商等路径优化问题的新方法
若干年前读研的时候,学院有一个教授,专门做群蚁算法的,很厉害,偶尔了解了一点点.感觉也是生物智能的一个体现,和遗传算法.神经网络有异曲同工之妙.只不过当时没有实际需求学习,所以没去研究.最近有一个这样 ...
- HIVE教程
完整PDF下载:<HIVE简明教程> 前言 Hive是对于数据仓库进行管理和分析的工具.但是不要被“数据仓库”这个词所吓倒,数据仓库是很复杂的东西,但是如果你会SQL,就会发现Hive是那 ...
- SHA-1算法
SHA-1.h #ifndef _SHA1_H #define _SHA1_H #include<iostream> using namespace std; //4个函数 #define ...
- 利用poi导出Excel
import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.r ...
- Web安全开发之验证码设计不当引发的撞库问题
感谢某电商平台安全工程师feiyu跟我一起讨论这个漏洞的修复.以往在安全测试的过程中后台经常存在验证码不失效果造成的撞库问题,甚至在一些银行或者电商的登录与查存页面同样存在这个问题,一旦造成撞库无论对 ...
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- 让 asp.net 在 mac 上飞
.NET 不跨平台一直饱受争议,虽然微软前端时间放出些消息,要支持.NET跨平台的发展,但是微软一直坚持着不主动.不拒绝.不负责的三不态度,仍然用一种软件帝国的心态,折腾着一些毫无新意的东西.微软想要 ...
- 集成基于OAuth协议的单点登陆
在之前的一篇文章中,我们已经介绍了如何为一个应用添加对CAS协议的支持,进而使得我们的应用可以与所有基于CAS协议的单点登陆服务通讯.但是现在的单点登陆服务实际上并不全是通过实现CAS协议来完成的.例 ...