- 浏览: 1657729 次
- 性别:
- 来自: 福州
文章分类
- 全部博客 (583)
- strust2.0 (14)
- hibernate2.0 (5)
- java (13)
- javaScript (59)
- AJAX (8)
- TFS (6)
- 其它 (20)
- CSS (23)
- asp (18)
- Dojo (5)
- 项目管理 (3)
- SQLServer (25)
- oracle (26)
- .NET (221)
- 开源系统 (6)
- 常识 (41)
- 软件架构 (1)
- My SQL (1)
- SilverLight (10)
- Flex (1)
- window7 (1)
- 网络安全 (2)
- CMS (1)
- ECShop (4)
- 邮件系统 (9)
- Linq (0)
- 淘宝店铺经营宝典 (0)
- flash插件 (1)
- Hubble.net全文检索 (1)
- 在线编辑器 (1)
- 正则表达式 (1)
- 创业 (1)
- asp.net mvc (1)
- 全文检索 (0)
- 全文检索 HubbleDotNet (1)
- Android (27)
- TFS bin (1)
最新评论
-
z小小Jean:
有具体的解决方法吗
用命名imp导入DMP时报无法解析指定的连接标识符的解决办法 -
njoiop:
这些都是常用接口,IP地址、手机归属和身份证查询接口,基站定位 ...
IP地址、手机归属和身份证查询接口 -
Fs_sky:
那导出DMP如何包含序列等其他东西?
在plsql中如何导出dmp文件 -
qiywtc:
请问该怎么判断视频的格式再选择对应的播放格式来播放啊?
asp.net各种类型视频播放代码(全) -
xinghenhouzi:
楼主说的版本不同无法导入导出是什么意思?我用10g的exp.e ...
在plsql中如何导出dmp文件
"权限限制访问"几乎每个程序员在做系统时都会用到。就我而言会用一下三种方法来实现:
写一个权限管理函数,在每个代码隐藏文件中的Page_Load函数中调用。这种方法很低级,代码量很大,如果系统很大的化,那简直就是一场灾难。
撰写一个继承System.Web.UI.Page 基类的BasePage类,然后再 BasePage类继承的OnInit 方法中填写权限管理的代码。然后在系统的每个代码隐藏文件中的Page类继承BasePage类就OK了。使用这种方法虽然能够有效的解决代码重用问题,但是想想如果忘了让Page累继承BasePage类,那将会变成系统安全的一个漏洞......
用HttpModule来实现"权限限制访问"相对简单多了,也可以有效解决以上问题,以下是自己写的代码示例(VS2005),请路过的朋友不要见笑,并提出宝贵意见。
文件->添加新项目->Visual C#->类库
文件->添加新项目->Visual C#->类库:(将控件修改为能够自动感知权限的控件)
如何调用权限管控代码(文件->新建网站)
在Web.Config文件中添加调用代码:
在页面中调用自动感知权限的控件:
Notices: 请不要在有登录页的模块中调用HttpModule,否则会在登录页面造成跳转死循环。
转自:http://www.cnblogs.com/xiangxiang/archive/2008/12/26/1363034.html
写一个权限管理函数,在每个代码隐藏文件中的Page_Load函数中调用。这种方法很低级,代码量很大,如果系统很大的化,那简直就是一场灾难。
撰写一个继承System.Web.UI.Page 基类的BasePage类,然后再 BasePage类继承的OnInit 方法中填写权限管理的代码。然后在系统的每个代码隐藏文件中的Page类继承BasePage类就OK了。使用这种方法虽然能够有效的解决代码重用问题,但是想想如果忘了让Page累继承BasePage类,那将会变成系统安全的一个漏洞......
用HttpModule来实现"权限限制访问"相对简单多了,也可以有效解决以上问题,以下是自己写的代码示例(VS2005),请路过的朋友不要见笑,并提出宝贵意见。
文件->添加新项目->Visual C#->类库
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using DataControl; namespace HM { public class UserControl : IHttpModule { #region IHttpModule public void Dispose() { } public void Init(HttpApplication context) { context.BeginRequest += new System.EventHandler(httpApplication_BeginRequest); } #endregion #region Registered event handlers public void httpApplication_BeginRequest(object sender, EventArgs e) { HttpApplication httpApplication = (HttpApplication)sender; HttpCookie UserCookie = httpApplication.Context.Request.Cookies["UserCookie"]; //如果用户未登录就跳转到登录界面 if (UserCookie == null) { httpApplication.Context.Response.Redirect("/Portal/ProtalLogin.aspx"); } //根据当前路径取得用户权限 DataTable dt = Authority.GetAuthorityByUserAndPath(UserCookie["UserID"], httpApplication.Context.Request.RawUrl); if (dt.Rows.Count == 1) { UserCookie["ISVIEW"] = dt.Rows[0]["ISVIEW"].ToString(); UserCookie["ISADD"] = dt.Rows[0]["ISADD"].ToString(); UserCookie["ISUPDATE"] = dt.Rows[0]["ISUPDATE"].ToString(); UserCookie["ISDELETE"] = dt.Rows[0]["ISDELETE"].ToString(); UserCookie["ISCONFIRM"] = dt.Rows[0]["ISCONFIRM"].ToString(); } else { UserCookie["ISVIEW"] = "0"; UserCookie["ISADD"] = "0"; UserCookie["ISUPDATE"] = "0"; UserCookie["ISDELETE"] = "0"; UserCookie["ISCONFIRM"] = "0"; } } #endregion if (UserCookie["ISVIEW"].ToString().Equals("0")) { httpApplication.Context.Response.Redirect("/Portal/ProtalLogin.aspx"); } } }
文件->添加新项目->Visual C#->类库:(将控件修改为能够自动感知权限的控件)
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using DataControl; namespace DataControl { public class UpdateButton : System.Web.UI.WebControls.Button { protected override void OnLoad(EventArgs e) { base.OnLoad(e); HttpCookie UserCookie = this.Context.Request.Cookies["UserCookie"]; if (UserCookie != null) { string IsSave = UserCookie["ISUPDATE"]; if (IsSave.Equals("1")) { this.Enabled = true; } else { this.Enabled = false; } } } } }
如何调用权限管控代码(文件->新建网站)
在Web.Config文件中添加调用代码:
<system.web> <httpModules> <add name="UserControl" type="HM.UserControl,SQMSHttpModule"/> </httpModules> </system.web>
在页面中调用自动感知权限的控件:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Defaule.aspx.cs" Inherits="Defaule" %> <!--注册权限感知控件代码--> <%@ Register TagPrefix="Authority" Namespace="DataControl" Assembly="DataControl" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div > <Authority:UpdateButton ID="btnChange" runat="server" Text="Change The System Description" /> </div> </form> </body> </html>
Notices: 请不要在有登录页的模块中调用HttpModule,否则会在登录页面造成跳转死循环。
转自:http://www.cnblogs.com/xiangxiang/archive/2008/12/26/1363034.html
发表评论
-
【转】C#定时执行某个程序
2015-03-16 17:33 738using System; using System. ... -
多行文本框字符数长度验证的解决方案
2012-03-02 16:04 1211在ASP.NET系统中经常会遇到验证文本框长度,比如数据库里是 ... -
【转】asp.net(c#)通过两个点的经纬度计算距离
2012-01-12 14:14 1387原理: 地球赤道上环绕地球一周走一圈共40075.04公里 ... -
【转】GSM手机短信软件的实现(C#)
2011-11-30 13:55 1322http://www.cnblogs.com/Engin/ar ... -
[转]C#开发短信收发软件的原理
2011-11-16 16:44 1660坛子里好像很多人对如何自己用C#开发手机短信有兴趣,正好我也做 ... -
TCPClient 类实现网络互联、通信
2011-10-29 11:16 2949TcpClient 为 TCP 网络服务提供客户端连接。 S ... -
Hubble.Net实现全文检索
2011-07-25 19:30 4050一、 下载安装 到Hubble.net 项目首页 http: ... -
c# 获取当前周第一天、最后一天,当前月第一天、最后一天的实现代码
2011-04-17 18:39 5304获取当前周工作日第一天、最后一天 int dayOfWee ... -
c#通过调用7z.exe实现解压文件
2011-03-05 15:47 48217-Zip 简介 7-Zip 是一款号称有着现今最高压缩比的 ... -
【转】IEnumerable 和 IEnumerator 接口
2011-03-04 17:12 2032类继承关系:public interface IQueryab ... -
【转】C#获取文件的绝对路径
2011-03-04 17:08 2499要在c#中获取路径有好多方法,一般常用的有以下五种: ... -
ListBox之间的数据项的移动操作
2010-09-29 11:04 1563<%@ Page Language="C# ... -
【转】asp.net中URL参数传值中文乱码的三种解决办法
2010-09-21 22:31 3429在做Asp.Net开发的时候,经常会遇到页面乱码的问题,下面是 ... -
【转】ASP.NET文件下载函数
2010-09-21 22:29 1419在你的Page_Load中添加这样的代码: Page.Re ... -
【转】在ASP.NET中实现多文件上传
2010-09-21 22:25 1249在以前的Web应用中,上传文件是个很麻烦的事,现在有了.NET ... -
[转]ASP.NET中常用的文件上传下载方法
2010-09-21 22:23 1823文件的上传下载是我们在实际项目开发过程中经常需要用到的技 ... -
HTML文章中截取摘要的问题[转]
2010-06-09 10:46 1882博客系统通常的做法是,在博客的首页只显示文章的摘要,点击标题进 ... -
获取 asp:Button 控件的的ComandName值的方法
2010-05-22 17:31 1266protected void btn_Save_Click ... -
ASP.NET防止用户多次登录的方法
2010-05-06 12:34 1583常见的处理方法是,在 ... -
使用 Enter 键提交表单
2010-04-27 14:04 1347一、使用 JS 代码 我们在表单里面的 TextBox (as ...
相关推荐
通过巧妙地使用HttpModule,我们可以精确地控制用户访问权限,实现特定的业务逻辑,例如限制同时在线人数。在实际项目中,务必考虑到性能和扩展性,因为频繁的并发检查可能会带来额外的开销。因此,设计时需要权衡...
本文将详细讲解如何通过HttpModule来实现IP限制策略,以保护Web应用程序,只允许特定的IP地址访问。 首先,我们需要了解HttpModule的工作原理。HttpModule是IIS(Internet Information Services)中的一个组件,它...
验证用户是否有权限下载这些文件,防止非法访问。同时,限制单个用户的并发下载次数,以免服务器压力过大。 7. **性能优化**:为了提高性能,可以考虑使用异步操作,特别是在处理大量文件时。利用ASP.NET的async/...
跨域资源共享(CORS)是Web应用程序中一种允许浏览器安全...通过设置合适的响应头,开发者可以控制资源的访问权限,既保障了安全性,又满足了跨域通信的需求。在实际开发中,应根据应用的具体需求选择合适的实现方式。
授权则通过Role Manager和Authorization规则实现,限制不同角色用户的访问权限。 六、模板与皮肤 为了实现类似于Discuz的个性化展示,本源码可能使用了模板和皮肤系统。ASP.NET中的Master Page可以创建页面布局模板...
在线播放视频可能需要使用流媒体技术,如ASP.NET中的HttpHandler或者HttpModule,配合Flash、HTML5的Video标签或第三方播放器(如JW Player、FlowPlayer)实现。 在线收费模块通常与会员系统结合,实现用户注册、...
ASP.NET的身份验证服务可以支持多种验证模式,如Windows、Forms、Passport等,而角色管理则可以限制不同用户对资源的访问权限。 【用户体验优化】 考虑到图片加载速度,系统可能会采用延迟加载、图片预加载或CDN...
在ASP.NET环境中,为网站添加IP过滤功能是一项重要的安全措施,尤其是对于那些需要限制特定用户访问权限的企业网站。本教程主要针对一个基于Asp.Net 2.0实现的网站,其目标是实现对厂内和厂外用户访问权限的有效控制...
通过Windows身份验证、Forms身份验证或其他认证方式,可以限制只有经过验证的用户才能访问特定资源。同时,角色管理和权限控制进一步细化了访问控制。 在实际开发中,还会涉及异常处理、日志记录、性能优化等技术。...
但是,却无法检测非ASP.NET支持的文件扩展名的链接(我们固然可以在IIS中将所有类型的扩展名都映射到ASP.NET解析器,但是,如果我们有设置IIS的权限,为什么还要用性能更低,限制更多的ASP.NET方式的URL重写,而不...
3. **下载控制**:为了防止盗链和滥用,系统可能会采用下载权限控制,如限制非注册用户的下载次数,或者设置会员等级来解锁更多下载权限。 4. **sHTML生成**:ASP.NET通过HttpHandler或HttpModule组件,可以在用户...
在 FullTrust 环境下,GAC 程序集可以访问所有受限制的功能,这对于某些高权限的操作非常关键。 **3.6 获取 GAC 中特定程序集的信息** 使用 gacutil 命令可以查询 GAC 中的程序集信息,例如使用 gacutil /l | find...
- **授权**:通过角色或用户基础的权限管理,限制访问特定资源。 - **防止XSS和CSRF**:使用验证控件和HttpModule防止跨站脚本攻击和跨站请求伪造。 - **加密和解密**:对敏感数据进行加密存储,保证信息安全。 ...
通过角色管理和权限控制,可以限制不同用户对游戏资源的访问,确保游戏环境的公平性。 最后,射击游戏的多人在线同步是挑战之一。ASP.NET的 SignalR 库提供了实时双向通信功能,能有效解决延迟问题,使玩家间的交互...
6.3.2 指定正确的ASP.NET权限给上传文件 172 6.3.3 理解文件大小的限制 173 6.3.4 把上传的文件放在Stream对象中 174 6.3.5 把文件内容从Stream对象移动到Byte数组中 175 6.4 MultiView和View服务器控件 175 ...
18.6.1 IP地址和域名限制640 18.6.2 使用文件扩展名641 18.6.3 使用新的 ASP.NET MMC插件643 18.7 小结644 第19章 状态管理645 19.1 如何选择645 19.2 ASP.NET 2.0中的 Session对象648 19.2.1 会话和...