国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

.NET應(yīng)用程序的授權(quán)模型使系統(tǒng)更易管理

2019-11-18 12:10:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  正確設(shè)計(jì)的授權(quán)機(jī)制使系統(tǒng)更易部署和治理?;贏ctive Directory等企業(yè)身份驗(yàn)證機(jī)制來(lái)授權(quán),你的應(yīng)用程序就能與公司現(xiàn)有的安全策略無(wú)縫地集成。在n層應(yīng)用程序中,每一層都可使用授權(quán),從而創(chuàng)建出更靈活的系統(tǒng)。
  
  
  
  在表示層,你可基于授權(quán)用戶(hù)的“角色”來(lái)自定義用戶(hù)界面(例如,為治理階級(jí)的用戶(hù)顯示治理菜單,但在普通用戶(hù)面前隱藏此菜單)。在業(yè)務(wù)層,可考慮在代碼主體中驗(yàn)證授權(quán),這就使黑客或其他非法用戶(hù)不易在未經(jīng)正確授權(quán)的情況下使用一個(gè)代碼小節(jié)。在數(shù)據(jù)層,通過(guò)在檢索或插入數(shù)據(jù)之前請(qǐng)求授權(quán),可確保只有合法用戶(hù)才能更改數(shù)據(jù)。
  
  
  
  授權(quán)類(lèi)型
  
  .NET系統(tǒng)主要運(yùn)行3種授權(quán)類(lèi)型:Windows授權(quán)、代碼訪問(wèn)安全性(Code access Security,CAS)授權(quán)或者應(yīng)用程序?qū)S檬跈?quán)。綜合運(yùn)用這些授權(quán)機(jī)制,就能創(chuàng)建一個(gè)非常安全的系統(tǒng)。下面讓我們具體討論它們。
  
  
  
  Windows授權(quán)
  
  利用訪問(wèn)控制列表(Access Control Lists,ACL)來(lái)設(shè)置權(quán)限,系統(tǒng)治理員可控制哪些用戶(hù)有權(quán)訪問(wèn)特定的系統(tǒng)資源。通常要由運(yùn)行應(yīng)用程序的那個(gè)系統(tǒng)的治理員來(lái)控制這些設(shè)置。由于生產(chǎn)環(huán)境和測(cè)試/認(rèn)證環(huán)境中的治理員通常是不同的人,所以必須正確文檔化特定的授權(quán)設(shè)置,確保應(yīng)用程序最終能正確運(yùn)行。這些設(shè)置包括:
  
  Active Directory權(quán)限
  NTFS治理的文件權(quán)限
  Web Config設(shè)置,它為基于asp.net的應(yīng)用程序限制對(duì)特定URL的訪問(wèn)
  服務(wù)器產(chǎn)品的特有權(quán)限,產(chǎn)品包括Microsoft SQL Server(例如表、視圖或存儲(chǔ)過(guò)程)或者M(jìn)icrosoft Exchange(例如郵箱、公共文件夾等)
  CAS授權(quán)
  
  Windows授權(quán)限制對(duì)單個(gè)對(duì)象的訪問(wèn)。相反,CAS授權(quán)答應(yīng)應(yīng)用程序根據(jù)一系列批準(zhǔn)的權(quán)限(名為權(quán)限集)來(lái)執(zhí)行。這些權(quán)限集是基于“憑證”(evidence)而建立的,包括代碼的來(lái)源、它的出版商及其“強(qiáng)名稱(chēng)”。必須注重到,CAS授權(quán)獨(dú)立于其他任何授權(quán)機(jī)制運(yùn)行,這樣可有效保護(hù)系統(tǒng)資源,無(wú)論用戶(hù)被驗(yàn)證成什么身份。
  
  例如,假定一個(gè)權(quán)限集禁止來(lái)自因特網(wǎng)的代碼刪除用戶(hù)機(jī)器上的文件,那么這個(gè)限制將永遠(yuǎn)有效,無(wú)論用戶(hù)的身份被驗(yàn)證成“系統(tǒng)治理員”,還是驗(yàn)證成“來(lái)賓”??捎肅ASPol.exe命令行實(shí)用程序來(lái)配置CAS授權(quán),或使用Microsoft .NET Framework Configuration控制臺(tái)來(lái)配置(后者通過(guò)控制面板的“治理工具”來(lái)訪問(wèn))。
  
  應(yīng)用程序?qū)S檬跈?quán)
  
  
  
  即使Windows授權(quán)用戶(hù)執(zhí)行一個(gè)操作,而且正在執(zhí)行的代碼具有恰當(dāng)?shù)臋?quán)限,但它們還要通過(guò)第3道關(guān)卡的考驗(yàn)——你的應(yīng)用程序可決定是否授權(quán)特定用戶(hù)執(zhí)行操作。通過(guò)創(chuàng)建應(yīng)用程序?qū)S玫囊粋€(gè)授權(quán)框架,就可根據(jù)用戶(hù)的身份驗(yàn)證主體(authenticated PRincipal)來(lái)響應(yīng)不同的用戶(hù),并進(jìn)一步控制用戶(hù)有權(quán)采取的操作。這種授權(quán)機(jī)制主要用于治理或限制對(duì)特定應(yīng)用程序資源的訪問(wèn),或根據(jù)通過(guò)身份驗(yàn)證的主體來(lái)強(qiáng)制不同的業(yè)務(wù)規(guī)則。
  
  我在自己的Web和Windows應(yīng)用程序中廣泛運(yùn)用了應(yīng)用程序?qū)S檬跈?quán)。在Web應(yīng)用程序中,我通常用它動(dòng)態(tài)生成菜單,使用戶(hù)只看到他們有權(quán)看到的選項(xiàng)。對(duì)于Windows應(yīng)用程序,我將授權(quán)代碼嵌入業(yè)務(wù)邏輯中,防止用戶(hù)執(zhí)行需要更高級(jí)授權(quán)的代碼。為了有效地使用和治理授權(quán),你需要一個(gè)公共場(chǎng)所來(lái)存儲(chǔ)權(quán)限,而且要采取一種方式為用戶(hù)分組。這樣一來(lái),一旦權(quán)限需要更改,就不必單獨(dú)配置每個(gè)用戶(hù)。
  
  
  
  “角色”的作用
  
  .NET框架答應(yīng)你對(duì)一個(gè)用戶(hù)組授權(quán),利用“角色”為組內(nèi)的所有用戶(hù)指派相同的安全權(quán)限。由于治理的是“角色”而非單獨(dú)的用戶(hù),所以當(dāng)用戶(hù)四處移動(dòng)時(shí),你的應(yīng)用程序無(wú)需改變。另外,假定你治理的是5個(gè)角色,而不是500名用戶(hù),那么花在治理應(yīng)用程序上的時(shí)間明顯少得多。使用Active Directory來(lái)存儲(chǔ)身份驗(yàn)證信息,你的.NET應(yīng)用程序就能自動(dòng)使用Active Directory中內(nèi)建的用戶(hù)和角色能力。此外,使用與SQL Server集成的安全機(jī)制,可以擴(kuò)展這些角色,將權(quán)限關(guān)聯(lián)到SQL Server對(duì)象,從而將安全性提升到一個(gè)新臺(tái)階,而且無(wú)需額外的編碼。
  
  即使決定不使用Active Directory,也可直接針對(duì)IPrincipal對(duì)象和IsInRole方法來(lái)編程,從而指派來(lái)自外部存儲(chǔ)(例如SQL數(shù)據(jù)庫(kù)表、xml文件或者使用套接字等接口的一個(gè)外部系統(tǒng))的角色,并驗(yàn)證角色的成員關(guān)系。
  
  授權(quán)是任何.NET系統(tǒng)的要害設(shè)計(jì)元素。理解了3種主要的授權(quán)類(lèi)型后,你可在設(shè)計(jì)自己的系統(tǒng)時(shí)選用其中的一種或者多種。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 洪泽县| 海原县| 昌平区| 休宁县| 左贡县| 松溪县| 枞阳县| 开鲁县| 永善县| 忻州市| 古田县| 绵竹市| 钦州市| 新津县| 天柱县| 台湾省| 东乡| 景洪市| 宝应县| 黄大仙区| 遵义县| 寻乌县| 个旧市| 阳原县| 正阳县| 双江| 屏东县| 天气| 务川| 西峡县| 肥乡县| 双鸭山市| 临沂市| 翁牛特旗| 屯昌县| 平和县| 莎车县| 平邑县| 衡阳县| 民勤县| 鄂托克旗|