WEB开发网      婵犵數濮烽弫鍛婄箾閳ь剚绻涙担鍐叉搐绾剧懓鈹戦悩瀹犲闁汇倗鍋撻妵鍕箛閸洘顎嶉梺绋款儑閸犳劙濡甸崟顖氬唨闁靛ě浣插亾閹烘鈷掗柛鏇ㄥ亜椤忣參鏌″畝瀣暠閾伙絽銆掑鐓庣仭缁楁垿姊绘担绛嬪殭婵﹫绠撻、姘愁樄婵犫偓娴g硶鏀介柣妯款嚋瀹搞儱螖閻樺弶鍟炵紒鍌氱Ч瀹曟粏顦寸痪鎯с偢瀵爼宕煎☉妯侯瀳缂備焦顨嗗畝鎼佸蓟閻旈鏆嬮柣妤€鐗嗗▓妤呮⒑鐠団€虫灀闁哄懐濮撮悾鐤亹閹烘繃鏅濋梺闈涚墕濡瑩顢欒箛鏃傜瘈闁汇垽娼ф禒锕傛煕閵娿儳鍩f鐐村姍楠炴﹢顢欓懖鈺嬬幢闂備浇顫夊畷妯肩矓椤旇¥浜归柟鐑樻尭娴滃綊姊虹紒妯虹仸闁挎洍鏅涜灋闁告洦鍨遍埛鎴︽煙閼测晛浠滃┑鈥炽偢閹鈽夐幒鎾寸彇缂備緡鍠栭鍛搭敇閸忕厧绶炴俊顖滅帛濞呭洭姊绘担鐟邦嚋缂佽鍊垮缁樼節閸ャ劍娅囬梺绋挎湰缁嬫捇宕㈤悽鍛婄厽閹兼番鍨婚埊鏇㈡煥濮樿埖鐓熼煫鍥ュ劤缁嬭崵绱掔紒妯肩畺缂佺粯绻堝畷姗€濡歌缁辨繈姊绘担绛嬪殐闁搞劋鍗冲畷顖炲级閹寸姵娈鹃梺缁樻⒒閳峰牓寮崒鐐寸厱闁抽敮鍋撻柡鍛懅濡叉劕螣鐞涒剝鏂€闂佺粯鍔曞Ο濠囧吹閻斿皝鏀芥い鏃囨閸斻倝鎽堕悙鐑樼厱闁哄洢鍔屾晶顖炴煕濞嗗繒绠婚柡灞界Ч瀹曨偊宕熼鈧▍锝囩磽娴f彃浜炬繝銏f硾椤戝洨绮绘ィ鍐╃厵閻庢稒岣跨粻姗€鏌ㄥ☉妯夹fい銊e劦閹瑩顢旈崟顓濈礄闂備浇顕栭崰鏍礊婵犲倻鏆﹂柟顖炲亰濡茶鈹戦埄鍐ㄧ祷妞ゎ厾鍏樺璇测槈閵忕姈鈺呮煏婢跺牆鍔撮柛鏂款槺缁辨挻鎷呯粙搴撳亾閸濄儳鐭撶憸鐗堝笒閺嬩線鏌熼崜褏甯涢柡鍛倐閺屻劑鎮ら崒娑橆伓 ---闂傚倸鍊搁崐鐑芥倿閿旈敮鍋撶粭娑樺幘濞差亜鐓涢柛娑卞幘椤斿棝姊虹捄銊ユ珢闁瑰嚖鎷�
开发学院WEB开发ASP NET移植案例学习:建造Web站点(2) 阅读

NET移植案例学习:建造Web站点(2)

 2001-09-10 09:54:05 来源:WEB开发网 闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱闂佸湱铏庨崰鏍不椤栫偞鐓ラ柣鏇炲€圭€氾拷闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁撻悩鎻掔€梺姹囧灩閻忔艾鐣烽弻銉︾厵闁规鍠栭。濂告煕鎼达紕校闁靛洤瀚伴獮鎺楀箣濠靛啫浜鹃柣銏⑶圭壕濠氭煙閻愵剚鐏辨俊鎻掔墛缁绘盯宕卞Δ鍐冣剝绻涘畝濠佺敖缂佽鲸鎹囧畷鎺戭潩閹典焦鐎搁梻浣烘嚀閸ゆ牠骞忛敓锟�婵犵數濮烽弫鍛婃叏椤撱垹绠柛鎰靛枛瀹告繃銇勯幘瀵哥畼闁硅娲熷缁樼瑹閳ь剙岣胯鐓ら柕鍫濇偪濞差亜惟闁宠桨鑳堕崝锕€顪冮妶鍡楃瑐闁煎啿鐖奸崺濠囧即閵忥紕鍘梺鎼炲劗閺呮稒绂掕缁辨帗娼忛埡浣锋闂佽桨鐒﹂幑鍥极閹剧粯鏅搁柨鐕傛嫹闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱闂佸湱铏庨崰鏍不椤栫偞鐓ラ柣鏇炲€圭€氾拷  闂傚倸鍊搁崐鐑芥嚄閼哥數浠氱紓鍌欒兌缁垶銆冮崨鏉戠厺鐎广儱顦崡鎶芥煏韫囨洖校闁诲寒鍓熷铏圭磼濡搫顫岄梺鍦拡閸嬪棝鎯€椤忓浂妯勯梺鍝勬湰濞叉ḿ鎹㈠┑濠勭杸闁哄洨濮烽悰銉╂⒒娴e搫甯跺鐟帮攻缁傚秴饪伴崼姘e亾閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡涱€楀褜鍠栭湁闁绘ɑ鐟ョ€氼喚绮绘ィ鍐╃厱妞ゆ劑鍊曢弸搴ㄦ煟韫囧鍔滈柕鍥у瀵潙螣閸濆嫬袝婵$偑鍊戦崹娲偡閳哄懎绠栭柍鈺佸暞閸庣喖鏌曢崶褍绨婚柟鍑ゆ嫹
核心提示:移植方法的选择 将站点移植到Visual Basic .NET和.NET框架的第一步是看看有哪些方法可供选择,现在有三种方法可以使用:· 将站点和Visual Basic 6.0的组件移植到asp .NET和Visual Basic .NET· 将站点移植到ASP .NET,NET移植案例学习:建造Web站点(2),再
移植方法的选择

  将站点移植到Visual Basic .NET和.NET框架的第一步是看看有哪些方法可供选择。现在有三种方法可以使用:

  · 将站点和Visual Basic 6.0的组件移植到asp .NET和Visual Basic .NET

  · 将站点移植到ASP .NET,再用COM+ interOperability与现存的Visual Basic 6.0组件通讯

  · 不改变现存的站点,而通过增加用ASP .NET和Visual Basic .NET写的新的功能模块来扩展站点的功能

  在开始开发之前,开发小组确定了利用.NET的哪些功能模块来替代网站中复杂的,且有时会有问题的代码,并增加一些新的功能。具体的讲,他们希望按下面的要求重建网站:

  · 用ASP .NET认证来替代原来的用户安全机制

  · 用ASP .NET Web Form确认控件来替代客户端用于报告产品漏洞和描述缺点的确认逻辑

  · 用ASP .NET Web Services将Microsoft其它的网站溶入beta版产品漏洞报告体系中

  · 利用.NET框架的本地化功能建造一个可以很容易实现本地化的Web站点

  · 利用ASP .NET向用户提供个性化的菜单和横幅图片

  为了充分利用这些特点,开发组决定将ASP页面移植成ASP .NET页面。他们将不移植现存的Visual Basic 6.0的ActiveX组件,而是创建新的Visual Basic .NET组件来实现Web Service和本地化。

  现在让我们看看为了完成移植,对这个网站到底做了哪些修改。

  结合ASP .NET认证功能

  移植的第一步就是用ASP .NET中基于cookie的认证机制来替换原来的客户安全机制。这种安全认证机制首先出现在PDC技术预览中,并在Visual Studio .NET Beta 1中得到了发展。它的目标是确定谁在访问网站,而不是阻止用户访问。因此,开发组修改了成员资格系统,帮助用户注册到Web站点,并且在以后的Beta版产品中可以继续使用。

  识别每个访问者的目的是跟踪他们报告的漏洞和缺点,并与他们进行必要的交流,以彻底解决问题。除了把用户的反馈送到特定的测试站点,用户还可以定制这个站点,以满足自己的需要,帮助客户将注意力集中在他们需要的信息上。把用户和他们感兴趣的内容联系起来能帮助站点管理员了解用户对什么问题最感兴趣。大多数测试站点包括了Visual Studio .NET和.NET框架各个方面的内容,允许用户访问站点上所有的文档,但某些用于特定方面(比如Visual Studio .NET IDE shell整和)的测试站点利用过滤器向客户只提供他们感兴趣的文档。

  原先使用的认证方式使用一个ASP服务器端文件和一个Visual Basic组件所提供的方法,验证来访者所提供的用户ID和密码是否是数据库的成员。这个文件提供了可重用代码来完成安全检查,但这就意味着这个文件需要被包含在每一页的开头,才能保证这一页不会被未经过认证的用户打开。在每一页包含这个文件给管理员配置不需要安全保护的页带来了麻烦。

  在ASP .NET中实现认证是很容易的,因为基于cookie的认证通过将站点的文档存放在某一个特定的文件夹实现了对文档的保护。当用户企图访问这个受保护的文档时,.NET框架将自动判断用户是否经过了认证。如果用户未被认证,.NET框架会把这个未经认证的请求重定向到某一个特定的HTML表单,让用户输入认证信息,并提交这个表单。如果用户得到了认证,.NET框架会产生一个可以辨别用户的cookie,并重定向到原先的请求页面。.NET框架还提供了一些类来帮助我们与认证过程交互和访问保存在cookie中的认证信息。

  我们可以用Web站点的config.web文件来配置ASP .NET的认证体系。这个配置文件包含了一个用于指定认证方式的块、该块指明了HTML登陆表单的URL和密码的格式。图3是一个设置基于cookie的认证的config.web文件。

  Web站点上原来的那种安全认证方式为每一个访问者唯一确立了一个对话ID。因为已经生成了这个ID,所以我们在移植认证过程不要改动现存的代码。ASP .NET认证机制将把未经认证的用户重定向到登陆页,让用户提交信用证。一旦提交了登陆页,用户ID和密码将被确认,还将产生一个会话ID。

  实现ASP .NET认证体系只要修改原来的登陆页面的两个地方。我们没有向客户的cookie写入会话的关键字,而是使用了ASP .NET认证cookie,将它的值设为会话的关键字。然后通过CookieAuthentication 类的RedirectFromLoginPage方法将用户重新引导到原先的请求页。在接下来的请求中,将通过.NET框架的HttpContext.User类来访问会话ID。图4显示的是修改后的登录认证检查。

  除了提供了一种更安全、更容易实现的安全认证体制外,ASP .NET认证体制还可以区别对待认证过的和未经认证的内容。因为保护的范围是由config.web文件中的目录结构决定的,所以只要把内容移出受保护的文件夹就可以取消对内容的保护了。

  为了让认证机制能发挥作用,所有需要认证才可以访问的文件的扩展名应改为.aspx(asp.net文件的扩展名)。正如你将在下面看到的,这是一个相对简单的过程。

Tags:NET 移植 案例

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接