通用性站點管理后台(Bee OPOA Platform) (1)


 

之前一直使用一個R2開發的叫Devfx開發的網站后台開發框架, 他集成了RBAC權限系統, 使項目開發中基本上都是集中的業務邏輯上, 帶來了很多的便利。 隨着自己對該類需求的不斷累積, 這些基本的系統應該有這樣的平台:

1. 多數據庫支持的;

2. MVC框架的;(非Asp.net MVC)

3. 內置RBAC權限管理系統;

4. 能對單表操作的CRUD能簡單快速實現的;

5. 界面HTML結構清晰.

該項目已發布到Codeplex上了, 地址為:https://beeopoa.codeplex.com/

請參看源碼中trunk下的readme.txt, 以方便你快速了解該項目的大致功能。

初始登入用戶名:admin 密碼:admin

該Solution包含兩個項目:

1.Bee.Security 集成RBAC的管理, 以及一些常用邏輯的

2. Bee.OPOADEMO.  功能demo

 

平台預覽

多數據庫支持

這一塊有不同的解決方案, 且都很成熟. 由於是快速開發為目的, 希望很多都是基於約定, 而不需要有很復雜的情況考慮. 提供了以下兩種連接字符串的引入:

1. config文件中ConnectionString

2. DbSession本身的Register注冊.

對第一種方式的使用:

       //其中sqlserver 為ConnectionString中name
          // 如<add name="sqlserverdb" connectionString="data source=datasource;initial         
//catalog=dbnamet;user id=username;password=psd"    providerName="System.Data.SqlClient" />
           using (DbSession dbSession = new DbSession("sqlserver"))  
            {
                SqlCriteria sqlCriteria = SqlCriteria.New.EndWith("email", "163.com");
                var list
                     = dbSession.Query<CSDNUser>(sqlCriteria, "id asc", 1, 1000, ref recordCount);
            }

對第二種方式的使用, 只是注冊上有變化.

        DbSession.Register("oledb", "System.Data.OleDb"
                , "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';"); 
            using (DbSession dbSession = new DbSession("oledb"))
            {
                SqlCriteria sqlCriteria = SqlCriteria.New.EndWith("email", "163.com");
                var list
                     = DbSession.Current.Query<CSDNUser>(sqlCriteria, "id asc", 1, 1000, ref recordCount);
            }

對於其基本的CRUD的使用, 目前支持DataTable及實體類, 具體使用該篇暫不展開說明。對於實現ORM的, 主要依靠一個接口(一個接口的世界)。

【修訂】具體請參見:通用性站點管理后台(Bee OPOA Platform) (4)- DAL

MVC框架

對於MVC的支持是通過一個Handler攔截以后綴為bee的請求實現的。 攔截請求收集數據后, 也是依靠一個接口(一個接口的世界)。 找到對應的Controller的Action並執行。由於是自實現, 所以有很多

都是個性化實現的。 如Action返回的是一般類型如int, string, bool等等, 則會使用以下類的json格式來返回:

public class BeeMvcResult
    {
        public bool status { get; set; }
        public string message { get; set; }
        public object Result { get; set; }
        public bool tologin { get; set; }
    }

 【修訂】具體請參見:通用性站點管理后台(Bee OPOA Platform) (3)- MVC特性

RBAC權限管理

RBAC是權限管理中很普遍的一種方式, 可以適應很多場景。 若需要基於本身系統的一些數據來控制權限, 則需要擴展實現。

J-UI介紹

在界面層選型時, 參考過Jquery-UI, jQuery-EasyUI, 包括J-UI。 查看源代碼后, 對比發現還是J-UI實現的比較簡單方便。 可以參考(DWZ富客戶端框架)。

快速開發

快速開發這塊是這個平台所要實現的最終目標, 目前實現的場景是對單表操作, 可以實現生成一個Controller及一個對應的Entity則可以產生對該單表的所有的CRUD操作。

【修訂】具體請參見:通用性站點管理后台(Bee OPOA Platform) (2)- 快速開發特性


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM