RSS 2.0 Feed
我的文章
摘要:一. 背景 .NET 平台上没有完整的 RBAC 机制,.NET 中的安全模型(代码访问安全性:CAS)只是实现到 Role 层次,没有细化到 Task 层次,ASP.NET 2.0 中的诸多安全机制,如 Membership、Web.Config 的安全配置,都只能针对 Role 进行设置,大家在利用这些安全机制,往往需要在程序/代码硬编码(HardCode)角色,这样就无法实现在运行期自定义角色的功能 Windows 2000/2003 中自带的 Authorization Manager 虽然实现了较为完整的RBAC模型,但一般只适用于 Windows 用户,而且也需要手动去进行权限检查(调用 AccessCheck方法) 权限检查是一个通用操作,最好的实现方式就是面向方面的编程(AOP) 二、相关主题介绍 RBAC模型的要素:三个实体:用户、角色、任务(或操作)(User、Role、Task),其稳定性逐渐增强,两个关系,User<->Role、Role<->Task,其中: User 是日常管理运行时建立 Role 是部署/交付建立 Task 是开发时确定 User<->Role 是日常管理运行时建立 Role<->Task 是部署/交付时建立 一般来说,Task是固定的,是和应用程序紧密绑定的,即使对之进行硬编码,也没有关系 User/Role 部分比较容易实现,例如ASP.NET 2.0中 Membership 的实现 三、具体实现 注:本文中实现 AOP 的思路主要来自于如下文章:Aspect Oriented Programming using .NET - AOP in C# (http://www.developerfusion.co.uk/show/5307/3/) ,这是我看到的、在.NET 上实现 AOP最简捷/方便的方法,它不便提供了原理介绍,也提供了 Visual Studio 2005 的 Sample Project ,其中有 Security Check 和 Logging 的 AOP 功能。它的优点在于,在实现 AOP 的同时,不需要再去建立接口(这是很多人的做法),直接在原有类上进行少量改动,即可实现完整的 AOP 功能。 1. 定义描述“Task”(任务)的 Attributeusing System; namespace BusinessLogic.Security ...{ /**//// /// 用于定义系统中的操作 /// ......[阅读全文]

posted @ | Feedback (49) |

摘要:MSN Messenger 6.0标签的自定义与开发 最近,Microsoft 向测试人员发布了 MSN Messenger 6.0 的 Beta 测试版,由于这个版本中增加了很多激动人心的功能,如:更漂亮的界面,更多的表情符号,可设置个人头像,聊天窗口的背景图片支持,P2P功能支持,联机游戏等,在这个版本中增强了的标签功能,对于广大......[阅读全文]

posted @ | Feedback (7) |

摘要:在Outlook的约会、任务和会议要求等窗体中,都有时间/日期等,一般情况下我们直接输入日期或者选择日期。其实还有一种高级用法:只要输入表示日期的词语就可以获得对应的日期。这些表示日期/时间的词语主要有: 1-表示日期的常见词,如:现在、Today、今天、明(昨)天、前天、大前天、大后天等,中英文均可; 2-数字:代表当月的日期,注意不要超过 31,数字或中英文大小写均可; 3-节假日:如国庆节,元旦,建军节、 圣诞节等; 4-星期:如星期五、礼拜一等; 5-表示日期的复杂短语,如今天+20天、7.1+10day, 2 days later等. 专家点评:这是一种人性化设计,在计划若干天后的工作时,因无需掐算,该方法比从日历中选择日期更为方便。 (本文参加 Office 技巧大赛并获奖,可参见 Microsoft )...[阅读全文]

posted @ | Feedback (4) |

摘要:李彦智(muslem@msn.com)中国银行软件开发中心2003年9月 本文通过对金融行业系统应用现状及发展的简要分析,强调了使用行业标准尤其是 XML标准的必要性,同时详细介绍了几种主要的金融行业标准协议的状况、发展及其向 XML 过渡的趋势和必要性。 引言 金融服务业在信息技术开发上花费巨额资金,以维持其竞争优势。直到近期,银行、证券、风险管理公司及保险公司等金融机构开始致力于业务流程自动化,通过建设这样的系统,减少商业领域的交易在协商、处理结算以及风险分析等环节的耗时。这被称为直通式处理(Straight Through Processing,STP);根据 Tower Group 估计,到 2005年,金融服务行业在 STP 技术上的花费将超过 122 亿美元。当前在金融证券行业,STP 是一个被广泛关注的技术问题,尤其在美国更是这样。 STP 的最终目的是使用完全自动化的完整流程(Loop)来替代传统的传真和电话确认,如交易前的沟通协商、交易的执行处理到清算支付。这包含了在投资管理人、经纪商,清算机构,保管人之间传递交易相关数据的自动化流程。因此STP 的核心在于异构系统之间的信息交换。 被交换的信息的结构必须是一种被交换各方认可的,且容易被计算机程序来处理的格式。从而首先要求存在必要的行业标准,其次就是使用 XML 作为数据传输语言。 金融服务行业的 XML 标准对于 STP 的成功实施非常重要。 XML 文档不但可以包含行情查询等交易前信息,股票信息和操作指令等交易信息,还涉及市场数据、支付和清算等交易后信息。在这些组织中,XML的深层次应用意味着更快和更加有效的处理,在各个系统之间的安全处理结算过程几乎是全自动的,从而有效减少费用,减少了错误,也减少来自于数据重新形成和其它人工干涉造成的额外工作量和耗时。 现状 现在的交易模式的特点就是过多地依赖传真/电话和人工处理过程,缺乏标准化,而且弥补交易失败的代价较为昂贵。 据 SWIFT 估计,约有 59% 的交易指令需要进一步地确认,而且每个失误都要采取措施来修正,从总体上耗费了巨大代价。 证券的交易流程包含三个步骤:交易前、交易中、结算。现在它们大多数由六个步骤来处理:下单,执行交易,确认,中台操作,清算和结算。就系统现状来说,经常需要在某一个阶段中重新输入交易信息,这是一种资源和时间的浪费。 对于股票交易来说,许多公司正在使用 FIX(Financial Information eXchange 金融信息交换)协议,它是一种私有的信息交换协议。由于它把消息框架和消息内容绑定在一起,从而使得很难把它同其它诸如 SOAP (Simple Object Access Protocol 简单对象访问协议,是一种基于 XML via HTTP 的数据传输协议,是 Web Service 的重要基础) 等这样消息标准集成起来。 对于场外市场(OTC柜台业务)和私下议付的金融衍生类产品,由于参与机构和业务具有复杂多变的特性,确定一个应用技术标准非常困难。因此,在这些产品中,传真和电话呼叫构成了最基本的交换信息的手段,这导致了大量的人工处理过程,使得交易更容易产生差错和延误。它带来了昂贵的代价且伴随着很高的操作风险。 关于交易的确认,由 Thompson Financial ESG 开发的中间件产品Oasys是一个广受欢迎的选择。这个公司有超过 3000 个合作伙伴。 Thomson 提供一个可通过 X.25或 TCP/IP 的私有网络访问的中央主机系统。Oasys 工作站使用私有的ESG结构来发送和接收数据。 最后,对于结算来说, 全世界有192 个国家的超过 7000 个银行在使用 SWIFT 协议。 1973 年成立的环球同业银行金融电讯协会(Society for the Worldwide Interbank Financial Telecommunication ,SWIFT)是行业认可的合作组织,它主要掌控着银行、经纪人/经销商,投资管理人等机构使用的消息服务。SWIFT 在世界范围内的会员银行间为金融消息交换提供消息服务,如信用证,支付,证券交易等。通过 SWIFT 网络,一个在新加坡的银行可以使用电子化手段和一个位于纽约的机构之间进行客户信息交换、银行间资金清算,支票清算,共享余额或证券交易等信息。 SWIFT 是私有协议,不基于 XML。SWIFT 需要每个客户拥有专用的网络终端和预先认可的软件。 对于以上的所有产品和解决方案,我们发现如下问题: 私有的消息框架 私有的网络 非标准化 缺乏互操作性 很明显,以上这些问题对于STP 的实现带来一定的难度。XML 使得所有这些问题都简单化,因为随着 Web Service 的使用,甚至是厂商的独立开发,都可以获得数据,并且易存取和非常灵活。 向XML 标准靠近 业界对于行业标准价值的认识已经有一段时间了,从生物化学到医学等行业都在使用 XML 标准在 交易方,供应商和客户等之间进行流畅的沟通。在金融服务行业,现在已经有几个被开发出来的相关标准。根据 STP 的要求,我将讨论 FIXML、FpML 和 SWIFT。FIXML......[阅读全文]

posted @ | Feedback (10) |

摘要:随着 Internet 的迅猛发展,电子邮件成为人们相互交流最常使用的工具,于是它也成为新型病毒——电子邮件型病毒的重要载体。最近一两年,出现了许多危害极大的邮件型病毒,如去年闹得沸沸扬扬的 ILOVEYOU 病毒、Melissa 病毒以及更早些时候的“泡泡男孩”等,而最近又有的 “库尔尼科娃”病毒、“Naked Wife” 病毒以及 Homepage 病毒等,这些病毒的特征就是危害较大,主要是利用电子邮件作为传播途径,而且这类病毒一般都是专挑 Windows平台上应用最普遍的邮件客户端——Microsoft Outlook 来下手,其发作和破坏 主要是通过利用 Outlook 的可编程特性来完成的,在收件人使用 Outlook 打开邮件或邮件附件时,里面的病毒就会自动激活并向“通讯簿”的所有人发带有病毒附件的邮件,类似于蠕虫一样“蠕动”,从而导致病毒的大规模迅速传播。如果是在企业环境中,由于网络速度较快,“通讯簿”中人数较多,只要用户打开已感染病毒的邮件,邮件会立即大规模地复制与传播,从而可能致使邮件服务器耗尽资源而瘫痪,其中部分病毒甚至可能破坏用户本地硬盘上数据和文件。   下面我们来分析一下最近出现的 Homepage 病毒,了解它的运行机制,以便对症下药,防毒治毒。   感染了 Homepage 病毒的邮件通常都带有一个名为 Homepage.html.vbs 的附件,很多人本以为他是一个 Html 页面而打开它的同时,这个其实是一个 VBScript 的文件已经开始执行了,这个文件的部分内容如下:----------------------------------- Execute DeCode("QpGttqtTguwogPgzvUgvYU?EtgcvgQdlgev*UgvHUQ?Etgcvgqdlge...................(省略).....................uqhvyctg^Cp^ockngf0GpfKhPgzvGpfKhPgzvGpfkhGpfHwpevkqp")Function DeCode(Coded)For I = 1 To Len(Coded)CurChar= Mid(Coded, I, 1)If Asc(CurChar) = 15 Then CurChar= Chr(10)ElseIf Asc(CurChar) = 16 Then CurChar= Chr(13)ElseIf Asc(CurChar) = 17 Then CurChar= Chr(32)ElseIf Asc(CurChar) = 18 Then CurChar= Chr(9)  Else CurChar = Chr(Asc(CurChar) - 2)  End If  DeCode = DeCode & CurChar NextEnd Function-------------------------------------   显而易见,病毒对自已的源码进行了加密以加强隐蔽性,加密后的代码就是 DeCode("...") 函数中间的那些乱七八糟的东西,这段 Script 在执行的时候先对利用 Decode 函数对自己进行解密,然后再执行(Execute)解密后的源代码。   我们只要对上述代码稍加修改,就能得到未加密的病毒源代码,修改后的文件另存为 SourceCode.vbs ,如下所示: --------------------------------------REM 得到病毒源代码strCode = DeCode("QpGttqtTguwogPgzvUgvYU?EtgcvgQdlgev*UgvHUQ?Etgcvgqdlge...................(省略).....................uqhvyctg^Cp^ockngf0GpfKhPgzvGpfKhPgzvGpfkhGpfHwpevkqp")REM 将源代码存放到一个文本文件中Set FSO = CreateObject("Scripting.filesystemobject")Set fCode = FSO.OpenTextFile("Code.txt",2,true)fCode.Write strCodefCode.CloseFSO.CloseREM 解密函数Function Decode(Coded)......(省略).......End Function-------------------------------------   双击运行 SourceCode.vbs ,就可以在同一个目录下生成一个......[阅读全文]

posted @ | Feedback (2) |

摘要:类似于Homepage这种邮件型病毒让人防不胜防,实在让人有些头疼,由于Windows脚本宿主(Script Host)功能强大,VBScript和JScript脚本语言可以完成操作系统的大部分功能,于是他们也就成了病毒编写者的最爱,利用它来编制病毒程序不但容易,而且利用电子邮件来传递使得病毒的传播非常迅速,所以传统的杀毒软件对这种类型病毒的防治总会有一定的滞后性,所以我们必须自己采取一些有效措施来防治这类病毒,以保护的我们的数据和邮件免受侵害。   一、通用规则   1.发现邮箱中出现不明来源的邮件应小心谨慎对待,尤其是带有可执行附件的邮件,如.EXE、.VBS、.JS等   2.如非必要,尽量关闭邮件“预览”特性。很多嵌入在HTML格式邮件中的病毒代码会在预览的时候执行,我们经常从媒体看到这样一种恐怖说法:“用户只要收到这些带病毒的邮件,即使不打开,病毒也能发作”,其实就是病毒代码在邮件预览的时候执行的。   目前的邮件型病毒绝大多数由VBScript(JScript)编写或是在HTML格式邮件中嵌入Script,针对这些现状,提出以下几点解决办法:   二、防止病毒发作   Windows Script Host本来是被系统管理员用来配置桌面环境和系统服务,实现最小化管理的一个手段,但对于大部分一般用户而言,WSH并没有多大用处,所以最好禁止WSH,也就是禁止VBScript(JScript)文件的运行环境,如果在企业环境中,系统管理员禁止那些不需要VBScript(JScript)的客户机,甚至比一台台地安装防病毒软件更为简单有效。禁止了WSH后,可以防止大部分邮件型病毒的发作。   禁止VBScript(JScript)文件执行的几个办法:   1.在“我的电脑”—“工具”—“文件夹选项”对话框中,点击“文件类型”,删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射   2.在Windows目录中,找到WScript.exe和JScript.exe,更改其名称或者干脆删除   3.在Win9X和Windows NT 4.0上,可以通过控制面板中“添加/删除程序”项来安全删除WSH   另外,为了防止可能包含在Outlook邮件中出现的宏病毒的发作,请在选择菜单“工具”—“宏”—“安全性”,然后将安全级别设置为“高安全性”。   三、防止病毒发作后“复制”   VBScript(JScript)中的磁盘文件和目录操作几乎都是通过FileSystemObject类来实现的,而对于绝大多数一般户来说,FileSystemObject也没有什么大的作用,所以可以从注册表中删除或更名FileSystemObject类,使得病毒代码无法创建对象,从而可以有效防止病毒复制自身。   运行regedit.exe,然后查找Scripting.FileSystemObject,找到后可以删除该键值(Key Value)或更改键名(Key Name),在做此项操作之前,请最好备份注册表并检查评估此操作对其它相关应用程序可能造成的影响。   在企业环境中,系统管理员可以编制一个自动执行上述操作的VBScript(JScript)程序,来完成在所有客户机上快速配置(其它这才是Microsoft开发WSH的本意)。   四、防止病毒发作后“传播”   邮件型病毒几乎都是通过发送大量的携毒的电子邮件来实现的,所以如何防止病毒脚本取得“联系人”列表(通讯薄)并发送邮件,成为问题的关键。   病毒代码发邮件一般采取两种办法,一是利用Windows自带的CDO(Collaboration Data Object协作数据对象)或通过OOM (Outlook Object Model,Outlook对象模型)来发送,用CDO来发送邮件的时候,必须要有Microsoft SMTP服务器,如果机器上没有安装Microsoft SMTP服务器,病毒就不能发送邮件。注意:Win9X系统上不能安装SMTP服务器、Windows 2000 Professional默认不安装此服务,而Windows 2000 Server与Advanced Server默认情况下是安装此服务的。   1.如果机器已安装了SMTP服务器,可以通过给SMTP服务器加入安全验证,以避免病毒代码利用CDO来匿名发送邮件,详细信息极相关配置可参见Windows 2000 SMTP Server文档。   2.要阻止病毒利用Outlook来发送邮件,可以利用Outlook的“邮件传递推迟”特性,Outlook的这个特性可以让用户在撰写一个邮件并点击“发送”按纽后,邮件并不会马上提交给MTA (邮件传输代理)来传输,而只是暂时保存在用户的“发件箱”文件夹中,待指定的时间过后,再进行真正的邮件发送。这个特性是通过Outlook的“规则”来实现的,成功地设置了这样的规则后,如果你不小心打开并执行了Homepage这样的病毒代码,在一阵硬盘狂响之后,你就会马上注意到你的“发件箱”文件夹中有大量待发邮件突然出现,这样你就可以确认你的机器已遭到病毒的骚扰,你应该立即删除“发件箱”中的这些邮件,并从“已删除邮件”文件夹中清空,这样就可以保证病毒不会再由你这儿传播到其它人的邮箱中。另外,有了这个邮件延迟的特性,可以让你在不小心发错邮件后有更正的机会。   邮件传递推迟特性是通过创建Outlook规则来实现,具体步骤如下:   (1)打开Outlook,点击“工具”—“规则向导”菜单   (2)“新建”一个规则,选择“发送邮件后检查”,然后选择对那些邮件或所有邮件进行检查   (3)选择“传递推迟若干分钟”,占击“若干”二字,输入推迟的分钟数   (4)保存并应用此规则   (5)如果在企业环境中,系统管理员可以将此规则导出成文件,然后在客户机上直接导入就行了   注意:上述设置是针对Outlook的,目前版本的Outlook Express尚不支持创建这样的规则。   五、防止病毒发作后搞“破坏”   病毒发作后的破坏行动是多种多样的,其中比较严重就是对硬盘数据和文件进行破坏,一般情况下只要禁用FileObjectSystem对象就可以了。   通过以上的层层设防,您的系统就应该能防御绝大多数针对于Outlook的邮件型病毒了。   另外,屡屡出现的电子邮件病毒总是把自己紧紧地跟Microsoft Outlook“绑”在一起,以致招来用户对Microsoft的众多责难,于是Microsoft痛定思痛,不断推出新的Outlook的安全补丁。在即将发布的Office XP的包含的Outlook 2002中不但全部禁用了HTML格式邮件中的脚本(Script)、ActiveX控件和Java Applet,而且对邮件的附件按类别分级处理,一级文件类型(例如.bat、.exe、.vbs和.js等)是被Outlook所冻结的,用户无法查看或访问此类附件。另外,当用户发送具有一级文件类型扩展名的附件时,将看到一条警告信息。如果文件类型属于二级,则只能将附件保存到硬盘上后,再决定如何进行处理。并且Outlook在其它程序访问“通讯簿”的时候给予用户提示,要求确认,这样从几个方面严格限制了病毒发作与传播。 (本文发表于新浪科技)...[阅读全文]

posted @ | Feedback (3) |

摘要:如何在 Windows 中快速查找文档李彦智近几年,随着硬盘介质价格的大幅度下降,各位电脑迷们的个人硬盘容量越来越大,动辄五六十G,甚至上百G都不足为奇,这在前几年是无法想象的。但是硬盘大了,存放的文档多了,查找速度慢的烦恼也随之来了。其实在Windows 2000/XP的操作系统中,有一个索引服务的功能,可以有效提高查找文档的速度,尤其在进行全文检索的时候,其运行效率可以和 Google 媲美。一、索引服务的概念索引服务(Index Service)被用来对硬盘上文档及文档属性进行索引,并存储在编录(Catalog)中,可以使用索引服务来查找文档。索引服务从一组文档中提取相关信息(包含文档中的文本,文档的特性和参数,如作者姓名等),并进行索引,一旦索引被创建后,你就可以查询这些包含关键字或属性信息的索引。例如,你可以查询所有包含“产品”这个词的文档,或者你可以查找所有由某一作者撰写的所有 Office 文档。通过 Windows 中的“搜索”功能、索引服务查询界面或 Web 浏览器就可以使用索引服务提供的功能,索引服务将返回所有满足查询条件的文档列表。在索引的过程中,索引服务使用一种称为“文档过滤器”(Document Filter)的东西来查阅整个文档,并将文本信息和属性提取出来,传递给索引器。索引服务可以对以下文档进行索引: HTML (*.htm,*.html,*.shtml)等 文本文件(*.txt) Microsoft Office 95 及更高版本产生的文档(*.doc,*.xls,*.ppt等) 邮件及新闻组文件(*.eml 和 *.nws) 任何其它具有相应过滤器的文档,如 *.pdf,*.xml 等 索引服务被设计为自动运行,需要很少的维护。一旦被正确设置后,所有操作都是自动的,包括索引的创建,索引的更新,掉电时索引破坏后的恢复。管理员和应用开发人员可以使用Microsoft Platform SDK来其它文档开发自定义的文档过滤器。二、索引服务的安装默认情况下,Windows XP 是不安装索引服务的,可以通过以下步骤来手动安装索引服务:1) 进入“控制面板”,点击“添加或删除程序”,然后选择“添加/删除 Windows 组件”2) 在“Windows 组件向导”对话框中,选中“Indexing Service”,如图所示:3) 单击“下一步”按纽完成安装。安装完成后,索引服务器无需任何配置和操作人员的干预,就可以自动运行。 三、增加编录和索引安装索引服务后,系统会自动创建两个编录,如图所示,分别是: 阅读全文]

posted @ | Feedback (2) |