資源描述:
《c#第14章 web應(yīng)用程序的安全性》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第14章Web應(yīng)用程序的安全性在Web應(yīng)用程序開發(fā)中,經(jīng)常會涉及與用戶交互的過程。不同用戶的權(quán)限是不同的,要實(shí)現(xiàn)不同用戶的權(quán)限分配,就要涉及用戶、角色管理、用戶登錄等。這樣的操作能加強(qiáng)應(yīng)用程序的安全性。另外,對程序進(jìn)行優(yōu)化也可以增加安全性。在本章中,將介紹Web應(yīng)用程序安全性的相關(guān)內(nèi)容。14.1應(yīng)用程序的安全控制隨著互聯(lián)網(wǎng)經(jīng)濟(jì)和文化的不斷興起,保證Web應(yīng)用程序的安全性,顯得越來越重要。在Web開發(fā)中,保證安全性對于一些特定的行業(yè)來說占據(jù)了舉足輕重的地位。例如網(wǎng)上銀行、在線辦公、電子郵件、管理私密文件的信息系統(tǒng)等。14.1.1為什么要保障應(yīng)用程序的安全性應(yīng)用程序的安全越
2、來越影響人類的生活。假如當(dāng)在網(wǎng)上購物的時候,電子銀行口令被人盜取,然后取走存款,這就是對于一個人的經(jīng)濟(jì)損失。但是,如果是一個銀行、國家機(jī)密、企業(yè)客戶資源等遭受這種損失,那么后果是無法估量的。特別是當(dāng)今入侵技術(shù)更加成熟和多樣化的今天,保障應(yīng)用程序的安全性更是重中之重的工作。14.1.2保障應(yīng)用程序的安全都有哪些措施保障應(yīng)用程序的安全性,有著相當(dāng)重要的意義。對于日常管理Web應(yīng)用程的過程中,已有一些公義的標(biāo)準(zhǔn)措施,可以實(shí)現(xiàn)應(yīng)用層級別上的安全保障。下面列出了適用于所有Web應(yīng)用程序應(yīng)當(dāng)遵循的最低安全性準(zhǔn)則。14.2配置Web應(yīng)用程序的身份驗(yàn)證類型通過配置Web.config文
3、件,應(yīng)用程序可以實(shí)現(xiàn)身份類型驗(yàn)證。在Web應(yīng)用程序中,IIS提供了5種身份驗(yàn)證機(jī)制:基本身份驗(yàn)證、簡要身份驗(yàn)證、集成Windows身份驗(yàn)證、證書身份驗(yàn)證和匿名身份驗(yàn)證。本節(jié)主要介紹常用的兩種:集成Windows身份驗(yàn)證和Forms身份驗(yàn)證。14.2.1使用集成Windows身份驗(yàn)證所謂集成Windows身份驗(yàn)證,就是在訪問某一網(wǎng)絡(luò)或本地主機(jī)時,Windows的用戶名和密碼如果與被查看的主機(jī)所需要的用戶名和密碼相同,就可以直接訪問。否則,需要手工輸入用戶名和密碼后才能訪問。14.2.2使用Forms身份驗(yàn)證所謂Forms身份驗(yàn)證,其實(shí)就是使用客戶端重定向功能,將不能通過身
4、份驗(yàn)證的用戶重定向到特定的登錄窗體中。這個過程有點(diǎn)類似于錯誤處理功能,它是在Web.config文件中配置的。同樣,F(xiàn)orms身份驗(yàn)證也可以在Web.config文件中配置。14.3配置Web應(yīng)用程序中的權(quán)限對Web應(yīng)用程序進(jìn)行權(quán)限配置,對于系統(tǒng)安全來說非常重要。在ASP.NET中,有一整套相當(dāng)成熟的規(guī)則,可以直接在Web.config文件中進(jìn)行配置,然后就可以對應(yīng)用程序的訪問權(quán)限進(jìn)行配置了。本節(jié)將介紹allow授權(quán)和deny拒絕授權(quán)。它們是兩種常見的授權(quán)方式。14.3.1應(yīng)用allow授權(quán)配置關(guān)于allow授權(quán),讀者們可以從字面意義上都看得出,它就是允許做某事,允許的
5、對象就是應(yīng)用程序中的用戶了。allow元素用于向存儲在authorization元素中的授權(quán)規(guī)則中,添加一條允許對資源訪問的授權(quán)規(guī)則??梢允褂胾sers或/和roles屬性。14.3.2應(yīng)用deny拒絕授權(quán)配置deny元素和allow一樣,也是向存儲在authorization元素中的授權(quán)添加規(guī)則,添加一條拒絕對資源訪問的授權(quán)規(guī)則,以控制對URL資源的訪問權(quán)限。同樣,它也是兩個屬性:users和roles屬性。它們在這里也是用戶和角色的意思。14.4詳解用戶管理對象在一個Web應(yīng)用程中存在不同的用戶。應(yīng)用程序要能對這些用戶進(jìn)行區(qū)別和管理,如哪些是合法的,哪些是非法的等,
6、就要求應(yīng)用程序有管理用戶對象的功能。本節(jié)介紹兩種主要管理方式:Membership用戶管理和MembershipUser用戶管理。14.4.1什么是用戶管理對應(yīng)用程序中的用戶進(jìn)行添加、更新、查找、驗(yàn)證等操作就是簡單的用戶管理。用戶管理是一個極為重要的工作。在一個程序中,特別是多用戶系統(tǒng)中,不同的用戶擁有不同的角色。對這些用戶進(jìn)行區(qū)別也是用戶管理的一項(xiàng)內(nèi)容。14.4.2什么是Membership用戶管理類Membership類用于驗(yàn)證用戶憑據(jù)并管理用戶設(shè)置。Membership類可以獨(dú)自使用,或者與FormsAuthentication一起使用,以創(chuàng)建一個完整的Web應(yīng)用
7、程序或網(wǎng)站的用戶身份驗(yàn)證系統(tǒng)。Login控件封裝了Membership類,從而提供一種便捷的用戶驗(yàn)證機(jī)制。14.4.3什么是MembershipUser用戶類MembershipUser對象主要用于表示成員資格。該對象公開有關(guān)成員資格用戶的信息,例如電子郵件地址等,并且可以為有成員資格的用戶提供相關(guān)功能,例如更改或重新設(shè)置密碼的功能等。14.4.4用戶管理的關(guān)鍵配置——成員資格提供程序ASP.NET成員資格可以驗(yàn)證和管理Web應(yīng)用程序的用戶信息。它提供驗(yàn)證用戶憑據(jù)、創(chuàng)建和修改成員資格用戶及管理用戶設(shè)置,例如密碼和電子郵件地址等功能。ASP