用asp.net建了一个动态网站,是一个小型房屋中介的管理系统。该公司有两个办公地点,但没有自己的内部局域网。想通过B/S结构解决它们之间的信息共享问题。现在客户有一个要求,普通员工只能在办公室的电脑登陆这个系统,并进行信息的查询和使用。在除公司以外的其他电脑上,是浏览网站,但不能登陆。请问我应该怎样实现这个功能?多谢……
解决方案 »
- 想要练习开发一个类似DataGrid的web控件,欢迎提供思路。
- 读取注册表键值
- Sql Server Compact 部署服务器web.config datasoure如何设置
- 请懂xml的大侠进来!!
- 出售网站,包括所有源代码,SQL数据库!说个价
- 如何实现本地文件上传到FTP服务器
- 如何切割psd文件?哪位高人愿意指点一下?
- 我只会写ASP的,不会写.net的,能不能帮我把代码转成。NET的 就是几行分割字符串的
- 大讨论!!!三层结构中的业务实体对象用什么表示好?
- 一个域名,两个vps, 一个在欧洲,一个在美国,(两个独立ip)
- XML控件的用法问题
- 如何用C#实现windows的API 接口?(求源码?)谢谢
获得IP的方法
http://topic.csdn.net/u/20080407/23/b60c241b-8a8a-4756-997a-6c3c02489bc7.html
可以结合OA登录的思路去做!
安装了证书的服务器可以登录。通过VPN设备不太好控制登录与浏览的关系,只能模拟内部网络的效果。通过IP验证登录可以考虑,只要公司的公网IP是不变的即可。
up
1,如果是固定IP,可以绑定IP;
2,如果IP不固定,机器固定就那些的话,可以绑定MAC地址。
private string GetClientIP() { string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (null == result || result == String.Empty) { result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; } if (null == result || result == String.Empty) { result = HttpContext.Current.Request.UserHostAddress; } return result; } 获取MAC地址: [DllImport("Iphlpapi.dll")] private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length); [DllImport("Ws2_32.dll")] private static extern Int32 .Net_addr(string ip); private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 try { string userip=Request.UserHostAddress; string strClientIP = Request.UserHostAddress.ToString().Trim(); Int32 ldest = .Net_addr(strClientIP); //目的地的ip Int32 lhost = .Net_addr(""); //本地服务器的ip Int64 macinfo = new Int64(); Int32 len = 6; int res = SendARP(ldest,0, ref macinfo, ref len); string mac_src=macinfo.ToString("X"); if(mac_src == "0") { if(userip=="127.0.0.1") Response.Write ("正在访问Localhost!"); else Response.Write ("欢迎来自IP为" + userip + "的朋友!" + "
"); return; } while(mac_src.Length<12) { mac_src = mac_src.Insert(0,"0"); } string mac_dest=""; for(int i=0;i<11;i++) { if (0 == (i % 2)) { if ( i == 10 ) { mac_dest = mac_dest.Insert(0,mac_src.Substring(i,2)); } else { mac_dest ="-" + mac_dest.Insert(0,mac_src.Substring(i,2)); } } } Response.Write ("欢迎IP为"+userip+"
"+",MAC为"+mac_dest+"的朋友!"+"
"); } catch(Exception err) { Response.Write(err.Message); } }