通用权限管理系统组件 (GPM - General Permissions Manager) 不改数据库、甚至不写代码就集成铜墙铁壁权限管理组件...
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
?? 越成熟的東西,越牛X的東西,越簡單才對,簡單才是硬道理,蘋果的手機只有少數(shù)幾個按鍵,蘋果Ipad也很少的按鈕,甚至連蘋果的筆記本鍵盤都少一排,通用權(quán)限管理系統(tǒng)組件的目的并不是為了把簡單的問題復(fù)雜話,而是把復(fù)雜的問題更加簡化,他的集成任何一個系統(tǒng)甚至是不用寫代碼,或者寫很少的代碼就可以了,簡化重復(fù)開發(fā),徹底復(fù)用勞動成果是我們的最終奮斗目標(biāo)。
?
一、我們的目標(biāo)
?? 1:多個業(yè)務(wù)系統(tǒng)可以用統(tǒng)一的后臺管理就可以了。
?? 2:多種不同數(shù)據(jù)庫的業(yè)務(wù)系統(tǒng),用統(tǒng)一的一個后臺管理系統(tǒng)就可以了。
?? 3:不管是簡單的,還是復(fù)雜的權(quán)限管理要求,都用一套后臺管理就可以了。
?? 4:不管是大陸的,臺灣的,相關(guān)的,日本的,美國的業(yè)務(wù)系統(tǒng),都用一套后臺管理就可以了。
?? 5:不管是B\S的還是C\S的,都用一套后臺管理系統(tǒng)就可以了。
?? 6:不管是個人,還是創(chuàng)業(yè)公司,還是上市公司,不管是做醫(yī)療的,政府的,企業(yè)的,都用一套后臺管理系統(tǒng)就可以了。
?
二、源碼銷售人群
?? 1:想提高自己的系統(tǒng)架構(gòu)能力,想拿高薪的程序開發(fā)人員。
?? 2:學(xué)習(xí)入門愛好者,想見識一下相對正規(guī)的大中型軟件項目的,想學(xué)習(xí)成為一個體系的整套的軟件項目的。
?? 3:將來自己想接項目,創(chuàng)業(yè),或者嘗試自己承接軟件項目想鍛煉自己的。
?? 4:軟件公司開發(fā)的項目多了,想規(guī)范化管理的,把多個項目都集中統(tǒng)一管理的。
?? 5:客戶實用的各種業(yè)務(wù)系統(tǒng)多了,多兒雜,想統(tǒng)一規(guī)范化管理的。
?? 6:公司內(nèi)部人員流動過,懶得進行正規(guī)培訓(xùn)的直接模仿通用權(quán)限管理的一整套開發(fā)模式就可以,少一些煩惱了。
?
三、權(quán)限系統(tǒng)集成:不改數(shù)據(jù)庫
?? 1:權(quán)限系統(tǒng)有自己獨立的數(shù)據(jù)庫,不與任何業(yè)務(wù)系統(tǒng)有關(guān)系,他的設(shè)計思想是,任何一個系統(tǒng)至少分2個庫進行設(shè)計,一個是業(yè)務(wù)數(shù)據(jù)庫,一個是權(quán)限數(shù)據(jù)庫,互相不影響互相不干擾,2個都是相對獨立的。
?? 2:權(quán)限系統(tǒng)的數(shù)據(jù)庫既可以獨立部署,也可以放在業(yè)務(wù)數(shù)據(jù)庫里合并,也并不是非要100%分2個數(shù)據(jù)庫,我們是主張分2個數(shù)據(jù)庫。
?? 3:所以需要集成別人的系統(tǒng),只是額外掛了一個權(quán)限數(shù)據(jù)庫,或者導(dǎo)入了一個權(quán)限數(shù)據(jù)庫,對現(xiàn)有的業(yè)務(wù)系統(tǒng)不進行大的改動也可以了。
?
四、權(quán)限系統(tǒng)集成:幾乎不寫代碼
?? 1:權(quán)限系統(tǒng)的每個窗體都可以獨立呼叫。
?? 2:權(quán)限系統(tǒng)是源碼有償公開的,也可以直接調(diào)用源碼。
?? 3:權(quán)限系統(tǒng)的DLL,只有3個,只要引用到自己的項目里就可以了,非常方便調(diào)用。
?? 4:需要把配置文件復(fù)制過來,小改一下。
???5:通用權(quán)限管理系統(tǒng)組件,幫你開發(fā)測試好了接近100個非常通用的,與業(yè)務(wù)邏輯無關(guān)的信息管理系統(tǒng)共性的窗體,這個足夠可以節(jié)約幾個月的開發(fā)時間,而且還可以反復(fù)利用,銅墻鐵壁的健壯的優(yōu)質(zhì)代碼,一勞永逸的解決問題。
?
五、權(quán)限系統(tǒng)集成:集成權(quán)限系統(tǒng)組件的最最簡單的例子代碼
?? 1:運行效果如下(幾乎不寫代碼集成13個功能點,系統(tǒng)登錄、用戶管理、角色管理、用戶權(quán)限、角色權(quán)限、訪問情況、消息管理、組織機構(gòu)、模塊菜單、職員管理、選項管理、文檔管理)。
?
?? 2:集成參考代碼如下,去掉注視,代碼不超過10行。
// --------------------------------------------------------------------// ?All?Rights?Reserved?,?Copyright?(C)?2011?,?Hairihan?TECH,?Ltd.?
// --------------------------------------------------------------------
using?System;
using?System.Windows.Forms;
namespace?DotNet.Example
{
???? using?DotNet.Utilities;
???? using?DotNet.WinForm;
???? /// ? <summary>
???? /// ?FrmCallPermission.cs
???? /// ?權(quán)限接口演示
???? /// ????????
???? /// ?修改記錄
???? /// ?
???? /// ?????2012.03.25?版本:1.0?JiRiGaLa??創(chuàng)建。
???? /// ????????
???? /// ?版本:1.0
???? ///
???? /// ? <author>
???? /// ???????? <name> JiRiGaLa </name>
???? /// ???????? <date> 2012.03.25 </date>
???? /// ? </author> ?
???? /// ? </summary> ?
???? public? partial? class?FrmCallPermission?:?Form
????{
???????? public?FrmCallPermission()
????????{
????????????InitializeComponent();
????????}
???????? private? void?SetControlState()
????????{
???????????? // ?用戶登錄了系統(tǒng),才可以用這些按鈕。
???????????? this.btnFrmUserAdmin.Enabled?=?BaseSystemInfo.UserIsLogOn;
???????????? this.btnFrmRoleAdmin.Enabled?=?BaseSystemInfo.UserIsLogOn;
???????????? this.btnFrmUserPermissionAdmin.Enabled?=?BaseSystemInfo.UserIsLogOn;
???????????? this.btnFrmRolePermissionAdmin.Enabled?=?BaseSystemInfo.UserIsLogOn;
???????????? this.btnFrmOrganizeAdmin.Enabled?=?BaseSystemInfo.UserIsLogOn;
???????????? this.btnFrmModuleAdmin.Enabled?=?BaseSystemInfo.UserIsLogOn;
???????????? this.btnFrmPermissionItemAdmin.Enabled?=?BaseSystemInfo.UserIsLogOn;
???????????? this.btnFrmStaffAdmin.Enabled?=?BaseSystemInfo.UserIsLogOn;
???????????? this.btnFrmLogGeneral.Enabled?=?BaseSystemInfo.UserIsLogOn;
???????????? this.btnFrmItemsAdmin.Enabled?=?BaseSystemInfo.UserIsLogOn;
???????????? this.btnFrmFileAdmin.Enabled?=?BaseSystemInfo.UserIsLogOn;
???????????? this.btnFrmMessage.Enabled?=?BaseSystemInfo.UserIsLogOn;
????????}
???????? private? void?button_Click( object?sender,?EventArgs?e)
????????{
???????????? // ?目標(biāo)的命名空間
???????????? string?assemblyName?=? " DotNet.WinForm ";
???????????? // ?目標(biāo)窗體的名字,其實就是按鈕的名字去掉前綴btn
???????????? string?formName?=?((Button)sender).Name.Substring( 3);
???????????? // ?通過反射調(diào)用相應(yīng)的窗體
????????????Type?assemblyType?=?CacheManager.Instance.GetType(assemblyName,?formName);
????????????Form?form?=?(Form)Activator.CreateInstance(assemblyType);
????????????form.ShowDialog();
???????????? // ?若的已經(jīng)登錄了,需要把相關(guān)按鈕設(shè)置為有效
???????????? this.SetControlState();
????????}
????}
}
?
轉(zhuǎn)載于:https://my.oschina.net/iwenr/blog/227977
總結(jié)
以上是生活随笔為你收集整理的通用权限管理系统组件 (GPM - General Permissions Manager) 不改数据库、甚至不写代码就集成铜墙铁壁权限管理组件...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 我心目中的牛程序员、我们可以对比看看(人
- 下一篇: 阿里一年,聊聊我成长了什么,入职阿里的职