a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

C#權(quán)限管理和設(shè)計(jì)淺談

2020-01-24 03:42:22
字體:
供稿:網(wǎng)友
此文主要想和大家分享的是這段時(shí)間,對(duì)權(quán)限管理和設(shè)計(jì)的斷斷續(xù)續(xù)的思考學(xué)習(xí),和個(gè)人的一些軟件開發(fā)等方面的看法。

提到'權(quán)限管理和設(shè)計(jì)',大家可能會(huì)第一時(shí)間想到這園子里的 吉日嘎拉,在這方面他可以算是'大牛'或?qū)<?――他的'通用權(quán)限管理系統(tǒng)',究竟做的怎樣,看看他的博客就差不多可以知道了(貌似我在給他做推廣,呵呵...,but in fact,is not),別的暫且不敢說,最起碼可以看出他研究的比較深入和狂熱,其系統(tǒng)也具有一定的'成熟度',用他的話來說――就是在努力做到他的極致。他做的是通用權(quán)限管理系統(tǒng),那么何為‘通用'?我談下個(gè)人的理解:

a. (主流)數(shù)據(jù)庫通用 ――即利用工廠等模式,可以方便適應(yīng)不同(類型的)數(shù)據(jù)庫,保證軟件的可移植性。這點(diǎn)重點(diǎn)在數(shù)據(jù)庫設(shè)計(jì)上!

b. 權(quán)限管理和判斷 思想上的通用,相同解決或?qū)崿F(xiàn)方法 or 思路 可以用在不同的開發(fā)語言和項(xiàng)目類型(大的方面 如:b/s 和 c/s)上,像吉日的權(quán)限系統(tǒng) ――這方面,通用在,可應(yīng)用在C#語言開發(fā)的web和WinForm程序中。 ――我個(gè)人認(rèn)為:(實(shí)現(xiàn)上的)思想(或稱之為 解決方案)通用更為重要,就像是一個(gè)不錯(cuò)的 購物車的實(shí)現(xiàn)思路或方案,可以很好的用在php、jsp、C#等語言開發(fā)的項(xiàng)目中。【問題的解決方案基本上與編程語言無關(guān),不同的只是實(shí)現(xiàn)】。

我對(duì)權(quán)限管理和設(shè)計(jì)的思考和學(xué)習(xí),其主要目的想:能在以后的項(xiàng)目開發(fā)中,利用自己的想法或(開發(fā)出)類似吉日兄弟的‘權(quán)限管理系統(tǒng)',可以快速有效的實(shí)現(xiàn)軟件中的權(quán)限管理部分(個(gè)人目前對(duì)權(quán)限管理部分感覺還是件挺棘手的事情)。而學(xué)習(xí)和思考,我并不是僅僅局限于自己的(空)想法,也學(xué)習(xí)和研究一些 我自己感覺可完善自己的思路、可借鑒的項(xiàng)目案例,像:吉日的權(quán)限系統(tǒng),(通用權(quán)限管理系統(tǒng))FrameWork104Src,MemberShip,phpcms,ecshop等 ――但由于時(shí)間的關(guān)系,目前只粗略的看了下前面的兩個(gè)。【思考和學(xué)習(xí),或是研究,我建議的方法是:先自己確定或理出大概的思路,再借鑒和參考學(xué)習(xí)其它與你所研究方向相同的項(xiàng)目案例(最好是大型 具有一定的'成熟度'的項(xiàng)目),以完善自己的思路,(對(duì)參考項(xiàng)目)揚(yáng)長補(bǔ)短,這樣你的研究才能站在一個(gè)較高的起點(diǎn)(可稱之為‘站在巨人的肩膀上',呵呵),且研究的結(jié)果也不至于'太失敗';因?yàn)槟愕南敕ň褪窃俸迷侏?dú)特,你也無法考慮周全,可能你自以為不錯(cuò)的想法,只能算是考慮到了問題某一方面的,與優(yōu)秀的相比就沒有可比性。比如:之前有人找我給他開發(fā)CMS系統(tǒng),我就建議他:CMS系統(tǒng)如果想做好不是一個(gè)人能能完成的,是個(gè)比較龐大的工程,如果真想自己開發(fā),最好借鑒下phpcms等流行的CMS系統(tǒng),要不然做出來的東西 無論是功能上 還是易用性上,可能都不及人家一半。做項(xiàng)目或研究,不能盲目的去做,要多參考和學(xué)習(xí)優(yōu)秀的項(xiàng)目,否則你的項(xiàng)目或研究就會(huì)'死'在開發(fā)上!】。
復(fù)制代碼 代碼如下:

/// <summary>
/// 獲得用戶的權(quán)限,操作權(quán)限
/// </summary>
private void GetPermission()
{
this.DbHelper.Open();

// 用戶的操作權(quán)限
this.btnUserAdd.Enabled = this.IsAuthorized("User.Add");
this.btnUserDelete.Enabled = this.IsAuthorized("User.Delete");
this.btnUserExport.Enabled = this.IsAuthorized("User.Export");
this.btnUserImport.Enabled = this.IsAuthorized("User.Import");
this.btnUserPrint.Enabled = this.IsAuthorized("User.Print");
this.btnUserUpdate.Enabled = this.IsAuthorized("User.Update");
// 角色的操作權(quán)限
this.btnRoleAdd.Enabled = this.IsAuthorized("Role.Add");
this.btnRoleDelete.Enabled = this.IsAuthorized("Role.Delete");
this.btnRoleExport.Enabled = this.IsAuthorized("Role.Export");
this.btnRoleImport.Enabled = this.IsAuthorized("Role.Import");
this.btnRolePrint.Enabled = this.IsAuthorized("Role.Print");
this.btnRoleUpdate.Enabled = this.IsAuthorized("Role.Update");

this.DbHelper.Close();
}

如上是 吉日的權(quán)限系統(tǒng)Permission項(xiàng)目中的一段代碼,其作用,大家一看便知――根據(jù)當(dāng)前登錄用戶的權(quán)限,判斷頁面上的按鈕是否可用,之所以帖出來,是因?yàn)槲覀€(gè)人感覺:這段代碼不夠簡(jiǎn)潔有效,建議可以考慮用集合來處理判斷權(quán)限[這也是我已基本上考慮好,在自己的研究中可行 簡(jiǎn)單的方法,具體的想法還需要進(jìn)一步整體考慮后,再和大家交流]。

在看(通用權(quán)限管理系統(tǒng))FrameWork104Src系統(tǒng)時(shí),也感覺其權(quán)限判斷處理上有些繁瑣,更重要的是,發(fā)現(xiàn)了一個(gè)bug――可能在不少軟件中,都容易疏忽的地方――權(quán)限判斷不夠徹底。好的權(quán)限管理的實(shí)現(xiàn),其結(jié)果應(yīng)該是確保軟件足夠的安全,(從根源上)禁止用戶"做他不能做的事"。此bug就是:我以A用戶的身份登錄系統(tǒng)后,此用戶沒有添加會(huì)員的權(quán)限,但我為了測(cè)試其權(quán)限控制的是否夠徹底,直接在Url中訪問 添加會(huì)員頁面,誰知,進(jìn)去了,不過,還好的是 在點(diǎn)擊確定按鈕時(shí)彈出'沒有此操作權(quán)限'的提示 ――所以,在這里提醒下,目前正在做權(quán)限管理功能或模塊的朋友,請(qǐng)檢查下你軟件中權(quán)限管理是否夠安全徹底。操作按鈕等不可見或不可用,并不能從根源上控制‘用戶'操作,一定要在提交的方法或處理中加上權(quán)限判斷。就像是:登錄或注冊(cè)等頁面的提交js驗(yàn)證,無論寫的多么完善或強(qiáng)大,都必須在后臺(tái)代碼中加必要的判斷!

好了,暫時(shí)就寫到這兒吧,(發(fā)現(xiàn)有時(shí)用心寫篇博客,很需要時(shí)間,呵呵),希望有在做這方面研究的朋友多提意見!
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 日本中文字幕一区二区有码在线 | 午夜国产视频 | 欧美黄视频 | 国产成人久久 | h视频在线免费 | 蜜桃免费一区二区三区 | 免费一区二区视频 | 久久久精品999 | а天堂中文最新一区二区三区 | 日韩视频精品在线 | 在线观看亚洲精品视频 | 欧美大片一区二区 | 成人激情视频免费观看 | 欧美一区二区三区在线看 | 91精品国产乱码久久久久久久久 | 国产99在线 | 欧美 | 国产欧美精品区一区二区三区 | 国产精品禁久久精品 | 久久国产亚洲精品 | 射久久| 国产成人精品久久二区二区91 | 中文字幕网在线 | 亚洲一级电影 | 国产传媒一区 | 国产一区二区三区在线免费观看 | 97狠狠| 欧美高清一区 | 久久精品这里有 | 亚洲黄色高清视频 | 国产亚洲aaa| 日韩一区在线播放 | 中文字幕在线不卡视频 | 久久精品一区二区国产 | 在线免费观看激情视频 | 在线成人av | 成人av网站在线 | 中文字幕一级 | 中文字幕一区二区三 | 国产精品久久毛片 | 亚洲情网站 | 日本在线播放 |