zoukankan      html  css  js  c++  java
  • 通用性站点管理后台(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)- 快速开发特性

  • 相关阅读:
    【Docker】04 部署MySQL
    【Docker】03 基础操作
    【Nexus】Linux上的Maven私服搭建
    【Mybatis-Plus】01 快速上手
    【Java】IDEA普通JavaEE项目实现SSM整合
    【Vue】03 Slot 插槽 & 自定义事件
    【Vue】02 Component 组件 & Axios
    【Vue】01 基础语法
    【Vue】Vue-Cli 安装
    【Project】JS的Map对象前后交互问题
  • 原文地址:https://www.cnblogs.com/hkf7703/p/2801303.html
Copyright © 2011-2022 走看看