IIS下的网站,在外网访问需要输入用户名密码 解决方案

情况一:

internet和IIS的设置矛盾

解决办法 :开始-运行-gpedit.msc-回车。

计算机配置--管理模块-windows components-internet控制面板-安全页-internet区域:双击登陆选项;选择已启用;登陆选项-自动使用当前用户名和密码登陆,确定。

或者检查 桌面 我的电脑 -管理 -系统工具-本地用户和组-用户 ,看看是否有IUSR_你的计算机名 这个Internet 来宾账户,没有就加上(在用户文件夹右击-新用户,输入用户名密码,把第一个勾去掉,只选 密码用户过期),如果有则检查它的密码是否和你IIS网站中【目录安全性】-【编辑】中的匿名用户的密码一致??必须改一致了(勾上 启用匿名访问)

情况二:

打开iis,站点右键----属性----目录安全性----编辑----允许匿名访问钩选

1、查看网站属性——文档

看看启用默认文档中是否存在:index.asp index.htm index.html (最好全都有,没有可添加)

2、查看网站属性——主目录

A、本地路径是否指定正确

B、是否勾选“脚本资源访问”?

C、是否勾选“读取”?

D、执行权限:纯脚本

3、查看网站属性——目录安全性——编辑

A、是否勾选“匿名访问”?

B、用户名:IUSR_您的计算机名(不对,就点浏览选择)

C、密码不用改,勾选“允许IIS控制密码”就可以了

D、其它不用选

4、查看网站属性——网站

A、IP地址:全部未分配 或者选择一个

B、TCP端口:80 (最好不要改,改了访问方法就不一)

5、打开控制面板——管理工具——计算机管理——本地用户和组——用户

A、看看“IUSR_您的计算机名”此用户有没有启动,必须启动(说明:有红色的×表示没有启动)

B、看看“IWAM_您的计算机名”此用户有没有启动,必须启动(说明:有红色的×表示没有启动)

C、在“IWAM_您的计算机名”该用户上按右键——设置密码(密码要记住,后面还需要用上该密码)

6、打开控制面板——管理工具——组件服务——组件服务——计算机——我的电脑——COM+应用程序

A、在“IIS Out-Of-Process Pooled Applications”上按右键选择‘属性’——选择‘标识’,指定用户:IWAM_您计算机名(说明:可以点浏览查找);输入密码,密码上面步骤的密码。再次启动该服务,启动后它会动。

B、在“IIS In-Process Applications”上按右键选择‘属性’——选择‘安全性’,将‘启用身份验证’勾去掉

C、在“IIS Utilities”上按右键选择‘属性’——选择‘安全性’,将‘启用身份验证’勾去掉。

绝对能看能用的C#代码 using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace NetAddressCollector { public class CDataAccess : IDataAccess { #region IDataAccess 成员 private ArrayList _classList; public ArrayList ClassList { get { return _classList; } } private ArrayList _addressList; public ArrayList AddressList { get { return _addressList; } } private bool _isDirty = false; public bool IsDirty { get { return _isDirty; } } public void LoadData() { _classList = new ArrayList(); _addressList = new ArrayList(); string content = CFileOperation.ReadFile(CConst.DATAFILE); if (content.Length < 1) return; string[] ss1 = content.Split(new string[] { CConst.SPLITOR_CLASS_HTTP }, StringSplitOptions.RemoveEmptyEntries); string classString = ss1[0]; string httpString = ss1[1]; string[] ss2 = classString.Split(new string[] { CConst.SPLITOR_CLASS_ITEM }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in ss2) _classList.Add(new CClass(s)); string[] ss3 = httpString.Split(new string[] { CConst.SPLITOR_HTTP_ITEM }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in ss3) { string[] ss4 = s.Split(new string[] { CConst.SPLITOR_HTTP_DETAIL }, StringSplitOptions.RemoveEmptyEntries); foreach (CClass c in _classList) { if (c.Name == ss4[0]) { _addressList.Add(new CAddress(c, ss4[1], ss4[2], ss4[3])); break; } } } _isDirty = false; } public void SaveData() { StringBuilder sbClass = new StringBuilder(); foreach (CClass c in _classList) sbClass.Append(string.Format("{0}{1}", CConst.SPLITOR_CLASS_ITEM, c.Name)); StringBuilder sbContent = sbClass.Append(CConst.SPLITOR_CLASS_HTTP); StringBuilder sbHttp = new StringBuilder(); foreach (CAddress http in _addressList) sbHttp.Append(string.Format("{0}{1}", CConst.SPLITOR_HTTP_ITEM, http.ToString())); sbContent.Append(sbHttp); CFileOperation.WriteFile(CConst.DATAFILE, sbContent.ToString()); _isDirty = false; } public bool ExistClass(CClass httpClass) { foreach (CClass c in _classList) { if (c.Name == httpClass.Name) return true; } return false; } public bool ExistHttp(CAddress http) { foreach (CAddress addr in _addressList) { if (addr.Name == http.Name && addr.Name == http.Http) return true; } return false; } public void AddClass(string className) { CClass c = new CClass(className); AddClass(c); } public void AddClass(CClass httpClass) { _classList.Add(httpClass); _isDirty = true; } public void RemoveClass(CClass httpClass) { for (int i = _addressList.Count - 1; i >= 0; i--) { CAddress http = (CAddress)_addressList[i]; if (http.HttpClass.Name == httpClass.Name) RemoveHttp(http); } _classList.Remove(httpClass); _isDirty = true; } public void AddHttp(CClass httpClass, string name, string http, string remark) { CAddress addr = new CAddress(httpClass, name, http, remark); AddHttp(addr); } public void AddHttp(CAddress http) { _addressList.Add(http); _isDirty = true; } public void RemoveHttp(CAddress http) { _addressList.Remove(http); _isDirty = true; } #endregion } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值