取客户端IP和MAC地址进行权限验证的一套体系
2009-12-03 17:16
239 查看
一:前台页面
<title>销量分析</title>
<!-- #Include virtual="/sales_manager/system/IpMacDns.htm" -->
</head>
<body>
<form id="form1" runat="server">
<input value="" name="txtMACAddr" id="txtMACAddr" runat="server" style="display:none" >
<input value="" name="txtIPAddr" id="txtIPAddr" runat="server" style="display:none">
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" style="display:none" />
<input id="Hidden1" runat="server" type="hidden" />
#Include 是包含文件IpMacDns.htm,IpMacDns.htm的内容是:
<object id="locator" classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" VIEWASTEXT></object>
<object id="foo" classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223"></object>
<script type="text/javascript" language="javascript">
var service = locator.ConnectServer();
var MACAddr ;
var IPAddr ;
var DomainAddr;
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
</script>
<script type="text/javascript" language="javascript" event="OnObjectReady(objObject,objAsyncContext)" for="foo">
if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)
{
if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
MACAddr = objObject.MACAddress;
if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
IPAddr = objObject.IPAddress(0);
}
</script>
<script type="text/javascript" language="javascript" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for="foo">
document.forms[0].txtMACAddr.value=unescape(MACAddr);
document.forms[0].txtIPAddr.value=unescape(IPAddr);
if (document.getElementById ("Hidden1").value !="第二次")
{
document.getElementById ("Button1").click ();
}
</script>
二:后台代码
三:page_base类
总体来说就是前台调用后台验证权限的方法,用hidden是为了避免调用click方法时页面提交,导致页面重新加载,无限循环调用验证方法
<title>销量分析</title>
<!-- #Include virtual="/sales_manager/system/IpMacDns.htm" -->
</head>
<body>
<form id="form1" runat="server">
<input value="" name="txtMACAddr" id="txtMACAddr" runat="server" style="display:none" >
<input value="" name="txtIPAddr" id="txtIPAddr" runat="server" style="display:none">
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" style="display:none" />
<input id="Hidden1" runat="server" type="hidden" />
#Include 是包含文件IpMacDns.htm,IpMacDns.htm的内容是:
<object id="locator" classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" VIEWASTEXT></object>
<object id="foo" classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223"></object>
<script type="text/javascript" language="javascript">
var service = locator.ConnectServer();
var MACAddr ;
var IPAddr ;
var DomainAddr;
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
</script>
<script type="text/javascript" language="javascript" event="OnObjectReady(objObject,objAsyncContext)" for="foo">
if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)
{
if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
MACAddr = objObject.MACAddress;
if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
IPAddr = objObject.IPAddress(0);
}
</script>
<script type="text/javascript" language="javascript" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for="foo">
document.forms[0].txtMACAddr.value=unescape(MACAddr);
document.forms[0].txtIPAddr.value=unescape(IPAddr);
if (document.getElementById ("Hidden1").value !="第二次")
{
document.getElementById ("Button1").click ();
}
</script>
二:后台代码
public partial class sale_data_manager_sale_count_analyes :page_base { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { this.Hidden1.Value = "第一次"; } } protected void Button1_Click(object sender, EventArgs e) { this.Hidden1.Value = "第二次"; func_right_check("WEB_xinfei_ice_func_sale_count_analye", 1018, this.txtIPAddr.Value, this.txtMACAddr.Value); }
三:page_base类
//检查权限 public void func_right_check(string func_code,int module_id,string user_ip,string user_mac) { DataTable dt = SystemManager.func_right_check(oper_user_id, func_code, module_id, user_ip, user_mac, "系统测试导入"); if (dt.Rows[0]["return_flag"].ToString() != "0") { Response.Write("<mce:script type="text/javascript"><!-- window.alert('" + dt.Rows[0]["error_content"].ToString() + "') // --></mce:script>"); Response.Redirect("~/system/error.htm"); } }
总体来说就是前台调用后台验证权限的方法,用hidden是为了避免调用click方法时页面提交,导致页面重新加载,无限循环调用验证方法
相关文章推荐
- CXF为服务器端和客户端添加自定义拦截器进行权限检查验证并且控制台打印日志(4)
- 常用公共函数库(验证mac地址、判断ip所属网段、创建文件夹、读取文件、获取移动客户端类型等)
- CXF:为服务器端和客户端添加自定义拦截器进行权限检查验证并且控制台打印日志
- Apache Shiro 整合Spring 进行权限验证 以及在Freemarker中使用shiro标签
- 使用VMware Converter Standalone Client进行虚拟机 P2V提示 权限不足,无法连接\\ip\admin$的解决方法集锦
- 用XMLHTTPRequest对象进行客户端验证
- web程序获取服务端以及客户端ip,name,MAC地址等信息
- .net MVC使用IPrincipal进行Form登录即权限验证(3)
- [jQuery]使用jQuery.Validate进行客户端验证(高级篇-上)
- JData 使用教程(四) 对输入数据进行验证(客户端验证)
- [jQuery]使用jQuery.Validate进行客户端验证(中级篇-下)——不使用微软验证控件的理由
- IpHelper 根据客户端IP进行网站分流
- [jQuery]使用jQuery.Validate进行客户端验证——不使用微软验证控件的理由-目录及简介[转载]
- Filter技术实现IP访问权限验证
- 使用jQuery.Validate进行客户端验证(中篇) [2]
- 通过客户端IP来规定访问者的访问权限
- [JSP] 利用JavaScript来用户名和密码进行客户端的验证
- 获取客户端ip和mac地址的方法总结
- 通过使用客户端证书调用 Web 服务进行身份验证(zz)
- webservice使用拦截器进行权限验证