通用性站点管理后台(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)- 快速开发特性

posted @ 2012-12-06 15:15    阅读(10786)  评论(17编辑  收藏  举报