自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

企業(yè)級(jí)系統(tǒng)的認(rèn)證與授權(quán)設(shè)計(jì)

開發(fā) 架構(gòu)
在IT信息化中,數(shù)據(jù)安全是必須考慮的問(wèn)題,小到門戶網(wǎng)站,大到企業(yè)級(jí)平臺(tái)應(yīng)用,甚至企業(yè)云,公有云,數(shù)據(jù)安全都是一個(gè)核心問(wèn)題。我從事ERP軟件開發(fā)多年,在ERP的認(rèn)證,授權(quán)方面相對(duì)有一個(gè)比較系統(tǒng)的了解,本著討論交流的精神與大家一起共勉。

 首先我們要搞清楚一個(gè)問(wèn)題,什么是認(rèn)證,什么是授權(quán)。

認(rèn)證——你是誰(shuí)(Who)?

  認(rèn)證:認(rèn)證(authentication):即對(duì)不同的用戶進(jìn)行識(shí)別,檢查用戶是否有權(quán)限對(duì)那些受限制的界面進(jìn)行訪問(wèn),這種稱為認(rèn)證。比如登錄。

授權(quán)——誰(shuí)(Who),在那個(gè)系統(tǒng)(Where),可以做什么(What)?

  授權(quán)(authorization):決定用戶可以對(duì)哪些功能按鈕進(jìn)行操作,對(duì)那些數(shù)據(jù)(數(shù)據(jù)行,數(shù)據(jù)列)進(jìn)行有效的訪問(wèn)即稱作為授權(quán)。

  其中功能操作的授權(quán)稱作為功能權(quán)限。比如下圖:?jiǎn)T工A要有 公司知識(shí)庫(kù)平臺(tái)->培訓(xùn)->培訓(xùn)預(yù)算->申請(qǐng)培訓(xùn)->培訓(xùn)列表頁(yè)面的【查詢】和【申請(qǐng)】按鈕,同時(shí)員工A要有 公司綜合管理平臺(tái) ->信息中心->通知公告->通知公告列表頁(yè)面的【發(fā)布】和【查詢】按鈕的操作權(quán)限。如圖所示,在現(xiàn)實(shí)場(chǎng)景中,跨平臺(tái),跨系統(tǒng)的場(chǎng)景比比皆是。 

  其中數(shù)據(jù)權(quán)限以下圖為例:我們看到下圖用紅色框圈起來(lái)了一個(gè)數(shù)據(jù)列表。假設(shè)這個(gè)數(shù)據(jù)列表為某企業(yè)集團(tuán)的銷售匯總表。

  現(xiàn)在客戶提出了如下幾個(gè)需求:

  1) 銷售總經(jīng)理可以查看所有的匯總數(shù)據(jù)。

  2) 大區(qū)經(jīng)理只能查看自己所屬大區(qū)的數(shù)據(jù)。

  3) 職位等級(jí)在二級(jí)以下(包括二級(jí))的只能查看自己所屬區(qū)域交易累計(jì)金額小于1000的數(shù)據(jù)。

  4) 只有銷售總經(jīng)理,大區(qū)經(jīng)理能查看聯(lián)系方式。

  如此需求,在企業(yè)級(jí)ERP開發(fā)中屢見(jiàn)不鮮,為了解決客戶的需求,我們不得不反復(fù)的去修改和發(fā)布代碼,其實(shí)我們可以通過(guò)簡(jiǎn)單的配置來(lái)滿足客戶的需求。這個(gè)簡(jiǎn)單的配置我們就可以稱之為認(rèn)證授權(quán)系統(tǒng),說(shuō)到這兒,就簡(jiǎn)單的把這個(gè)系統(tǒng)的概念引申出來(lái)了。

  那我們要設(shè)計(jì)這個(gè)系統(tǒng),我們要考慮到一些什么因素呢?要做出一個(gè)適應(yīng)客戶需求變化的系統(tǒng),必須要具備一個(gè)良好的設(shè)計(jì)。

  首先,認(rèn)證與授權(quán)系統(tǒng)的架構(gòu)應(yīng)該是一個(gè)SOA的架構(gòu)。這兒所用的SOA絕對(duì)不是趕技術(shù)的時(shí)髦。因?yàn)橐粋€(gè)企業(yè)集團(tuán)可能有幾個(gè),甚而幾十個(gè),上百個(gè)的子系統(tǒng)。我們不可能為每個(gè)子系統(tǒng)都維護(hù)個(gè)套用戶表,角色表,以及一套權(quán)限系統(tǒng)。所以要把這個(gè)認(rèn)證與授權(quán)的功能給抽出來(lái),做成一個(gè)松耦合的子系統(tǒng)。但同時(shí)這個(gè)子系統(tǒng)要與其它系統(tǒng)進(jìn)行數(shù)據(jù)交互,所以我們要采用一定的技術(shù)手段來(lái)與業(yè)務(wù)系統(tǒng)通信,不管是用Web Service還是WCF,其實(shí)目的都只有一個(gè),就是讓認(rèn)證與授權(quán)系統(tǒng)與其它業(yè)務(wù)系統(tǒng)進(jìn)行通信。這樣即實(shí)現(xiàn)了一處維護(hù)多處運(yùn)用的場(chǎng)景,這樣就實(shí)現(xiàn)了系統(tǒng)級(jí)的重用,當(dāng)然,采用了SOA的開發(fā),就不得不提SOA的安全,我在這個(gè)系統(tǒng)里是使用的c#攔截器機(jī)制,具體的實(shí)現(xiàn)以后有機(jī)會(huì)單獨(dú)提出來(lái)與大家分享,有感興趣的朋友我們可以建一個(gè)群共同交流。

  

  其次,系統(tǒng)的可擴(kuò)展性要強(qiáng),特別要有一個(gè)強(qiáng)有力的代碼支撐。比如認(rèn)證授權(quán)這個(gè)系統(tǒng),用B/S模式的更好,還是用C/S模式的更好?這個(gè)是各圓其說(shuō),我做了六年的B/S項(xiàng)目,但是我***還是選擇用C/S的結(jié)構(gòu)來(lái)開發(fā),其中的原因以后有時(shí)間一一道來(lái)。我們來(lái)欣賞下現(xiàn)的一個(gè)代碼片段:

  

   我把客戶端的驗(yàn)證放在了Model上,如果在B/S架構(gòu)下,我不用重復(fù)的去寫一次JavaScript的驗(yàn)證。常用MVC的朋友都知道在B/S結(jié)構(gòu)下,怎樣用Model的屬性進(jìn)行客戶端的驗(yàn)證了。在C/S結(jié)構(gòu)下,可以通過(guò)WPF輕而易舉的實(shí)現(xiàn)客戶端的驗(yàn)證,這樣寫的目的,就達(dá)到了代碼級(jí)別的重用。

  還有一個(gè)比較重要的因素,就是用戶體驗(yàn)。當(dāng)我們的程序設(shè)計(jì)的如何的好,代碼重構(gòu)的怎樣的精練,如果沒(méi)有一個(gè)好的人機(jī)交互,想必會(huì)抹殺很大一批用戶的好感。對(duì)我們程序員來(lái)說(shuō),要設(shè)計(jì)一個(gè)好的人機(jī)交互界面,確實(shí)有待提升。我以現(xiàn)在這個(gè)系統(tǒng)的UI來(lái)說(shuō)吧,在短短半年的時(shí)間里,UI重構(gòu)了三次,***次是用WPF下的Ribbon插件來(lái)設(shè)計(jì)的。第二次是用微軟官方示例提供的設(shè)計(jì),其中還包括了動(dòng)態(tài)翻頁(yè)的效果,非常炫。第三次,采用微軟的Metro風(fēng)格設(shè)計(jì)。很明顯每次的設(shè)計(jì)都有質(zhì)的提升。

 

  ***個(gè)版本的界面:Ribbon。

  

第二個(gè)版本的界面:WPF技術(shù)下實(shí)現(xiàn)的翻頁(yè)特效界面。

 第三個(gè)版本的界面(Metro):采用Prism + MVVM開發(fā)的。

   每個(gè)界面雖然都丑,但是也各具特色。只是個(gè)人的喜好而已。

原文鏈接:http://www.cnblogs.com/xcj26/archive/2013/03/28/2984840.html

【編輯推薦】

責(zé)任編輯:彭凡 來(lái)源: 博客園
相關(guān)推薦

2024-12-30 09:12:17

2025-03-06 01:00:55

架構(gòu)推送服務(wù)編程語(yǔ)言

2025-04-02 03:15:00

狀態(tài)機(jī)設(shè)計(jì)工具

2014-08-07 09:48:40

2015-03-09 11:20:25

雙因素認(rèn)證寧盾DKEY

2015-05-26 09:41:45

china-pub

2011-05-19 10:57:47

架構(gòu)

2020-07-31 07:45:43

架構(gòu)系統(tǒng)企業(yè)級(jí)

2010-09-14 14:45:33

2016-02-23 13:16:08

網(wǎng)絡(luò)監(jiān)控網(wǎng)絡(luò)可用性監(jiān)控系統(tǒng)

2009-12-14 20:13:57

IBM

2022-02-11 14:03:45

云之旅風(fēng)險(xiǎn)管理公有云

2014-09-24 13:32:41

企業(yè)號(hào)

2020-12-16 20:07:18

容器技術(shù)

2009-05-22 18:24:08

曙光VMware虛擬化

2011-06-20 06:14:00

ibmdwJava

2009-09-22 11:59:19

2015-08-24 13:56:10

數(shù)據(jù)分析

2011-10-14 19:42:52

2023-12-07 14:20:05

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)