• AppBox_v3.0


    AppBox_v2.0完整版免费下载,暨AppBox_v3.0正式发布!

    AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理、职称管理、部门管理、角色管理、角色权限管理等模块。

    AppBox v2.0简介

    AppBox v2.0 发布于2012年12月份,前端展现使用的是 FineUI v3.2.3,而ORM工具是 SubSonic v2.2.1。AppBox v2.0的创新之处在于将模块和模块权限的定义放在C#代码中,从而方便了在Web Form后端代码中使用强类型的权限定义,而不是传统意义上的字符串,如下所示。

    模块的定义:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public enum ModuleType
    {
        None,
        CoreMenu,
        CoreJobTitle,
        CoreJobTitleUser,
        CoreDept,
        CoreDeptUser,
        CoreRole,
        CoreUser,
        CoreRoleUser,
        CoreRoleModule,
        CoreLog,
        CoreConf,
        CorePassword,
        CoreOnlineUser,
        AppFile,
        AppTest
    }

    权限的定义:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public enum ModulePowerType
    {
        None,
     
        // 浏览权限是公共的,每个模块都有
        CanRead,
     
        CoreDept_New,
        CoreDept_Edit,
        CoreDept_Delete,
     
        CoreDeptUser_New,
        CoreDeptUser_Delete,
    }

    然后在Web页面后台定义每个页面所属的模块:

    1
    2
    3
    4
    5
    6
    7
    public override ModuleType Module
    {
        get
        {
            return ModuleType.CoreUser;
        }
    }

    判断某个操作是否拥有权限时:

    1
    2
    3
    4
    5
    6
    // 在操作之前进行权限检查
    if (!CheckPowerDelete())
    {
        CheckPowerFailWithAlert();
        return;
    }

    AppBox 升级的必要性

    一:虽说将权限定义在C#代码中是AppBox v2.0的一处创新,但却遭到很多网友的反对,认为和传统意义上保存在数据库的做法不同,不灵活,也增加了理解的难度。AppBox v3.0会彻底颠覆之前版本对权限的控制,采用一种更加现代化的创新(我将之称为“扁平化的权限设计”,由本人一手杜撰,如有雷同,纯属巧合),到时权限的定义已经是保存在数据库的了。

    二:AppBox大版本升级的另一个重要原因是 Subsonic 已经跟不上时代潮流了,长期没有更新和维护了,这也不能不说是开源领域的遗憾,想当年 Subsonic 不用生成一行代码的理念是多么的吸引眼球,而其易用性也是吸引大批开发者的重要因素。AppBox 3.0会使用Entity Framwork的Code First开发模式对AppBox进行完全重构,到时你可以看到Entity Framework在项目开发中的一些最佳实践。 

    三:形同鸡肋的概念“模块”。在AppBox v2.0中,模块的引入也是参考了很多开源的权限框架,但模块仅仅是作为权限分组没有实际的意义,同时引入一个没有多大意义的概念会造成用户概念上的混淆(很多用户在问菜单和模块的关系),同时数据库设计会复杂的多的多。AppBox v3.0独创的“扁平化的权限设计”彻底抛弃了“模块”的概念,从而在数据库设计、逻辑代码和用户体验上有很大的提升。

    AppBox v2.0 完全免费下载!

    AppBox v2.0 免费下载地址:http://fineui.com/bbs/forum.php?mod=viewthread&tid=3788

    注:

    1. AppBox v2.0 是免费软件,已经可以免费下载了;

    2. AppBox v3.0 是捐赠软件,你可以通过捐赠作者来获取AppBox v3.0的全部源代码(http://fineui.com/donate/)。

    AppBox v3.0 正式发布!  

    AppBox v3.0采用全新的“扁平化的权限设计”,从而简化了数据库设计和代码编写工作,也提升了用户体验,是由三生石上经过思考创建的全新权限设计理念。前端展现使用最新的 FineUI v3.3.1,ORM工具是流行的Entity Framework v5.0(Code First),开发工具是 Visual Studio 2012(.Net Framework 4.5)。在这里,你可以学习到全新的理念和知识,以及将FineUI和Entity Framework应用到项目的最佳实践。

    接下来的一段时间,我会通过一系列的文章来解密这次升级全过程,敬请每天关注我的博客:

    1. AppBox升级进行时 - 拥抱Entity Framework的Code First开发模式

    2. AppBox升级进行时 - 扁平化的权限设计

    3. AppBox升级进行时 - Entity Framework的增删改查

    4. AppBox升级进行时 - 如何向OrderBy传递字符串参数(Entity Framework)

    5. AppBox升级进行时 - 关联表查询与更新(Entity Framework)

    6. AppBox升级进行时 - Attach陷阱(Entity Framework)

    7. AppBox升级进行时 - Any与All的用法(Entity Framework)

    8. AppBox升级进行时 - 经典的表单和表格页面(FineUI)

    9. AppBox升级进行时 - 经典的主从表页面(FineUI)

    10. AppBox升级进行时 - 跨页保存表格的选中项(FineUI)

    11. AppBox升级进行时 - 向子窗口传值,向父窗口回传值(FineUI)

    12. AppBox升级进行时 - 角色的权限管理页面(FineUI)

    13. AppBox升级进行时 - 适当的JavaScript为页面增色(FineUI)

    14. AppBox升级进行时 - 如何控制按钮和表格内按钮的权限

    15. AppBox升级进行时 - FineUI和EF祝你一臂之力(完结篇)

    注:AppBox v3.0 是捐赠软件,你可以通过捐赠作者来获取AppBox v3.0的全部源代码(http://fineui.com/donate/)。

    AppBox v3.0发布说明

    AppBox v3.0

    AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理、职称管理、部门管理、角色管理、角色权限管理等模块。

    技术支持:http://fineui.com/bbs/

    注:
    1. AppBox作为演示程序,请不要直接用于真实项目。
    2. AppBox作为演示程序,版本之间不兼容,也不支持版本升级。

    使用说明:

    1. 用 VS2012 打开工程文件,F5运行即可(默认使用VS2012自带的LocalDB数据库)。
    用户名:admin
    密码:admin

    2. 如果需要连接特定数据库,请在 Web.confg 中修改数据库连接字符串,并修改 AppBoxContext 类中使用的数据库连接名称。


    发布历史:

    +2013-08-28 v3.0
    -基于最新的FineUI和Entity Framework(Code First开发模式)。
    -扁平化的权限设计,简单高效易于扩展。
    -修正弹出框高度变小时表单仍然不出现滚动条的问题。
    -超级管理员帐号(admin)不受系统权限控制,默认拥有所有权限。
    -只有超级管理员自己才能编辑自己。


    +2012-12-17 v2.1
    -修正新增和编辑部门时,无法选择顶级部门的BUG。
    -修正用户表的date类型sqlserver2005无法识别的问题。
    -修正工程的编译错误。
    -修正可以添加重复用户名的用户;用户名不可编辑;性别为必填项。
    -编辑新增菜单时,模块名称只能选择,这个名称是从代码来的。

    +2012-12-09 v2.0
    -配置项增加“菜单样式”和“网站主题”。
    -表格增加“每页记录数”过滤条件。
    -删除“角色菜单管理”菜单,现在从“角色模块管理”获得角色拥有的菜单列表。
    -现在需要在ModuleTypeHelper代码中定义模块的标题;“菜单管理”中的菜单标题可以从模块标题同步过来。
    -一个用户可以属于多个角色;删除角色之前需要先清空属于此角色的用户列表。
    +优化编辑用户和新增用户窗体。
    -性别从下拉列表变为单选框列表。
    -所属角色从下列列表变为触发器输入框,在新窗口中选择用户所属的角色。
    -所属部门从下列列表变为触发器输入框,在新窗口中选择用户所属的部门。
    -增加拥有职称字段,同样为触发器输入框。
    -添加用户到当前角色窗体,可以在表格中跨页选择多个用户。
    -用户表增加了一些字段,比如分机号、住址、身份证号、到职日期等。
    -一个用户只能属于一个部门;删除部门之前需要先清空属于此部门的用户列表。
    -一个用户可以拥有多个职称;删除职称之前需要先清空拥有此职称的用户列表。

    +2012-06-24 v1.0
    -第一个正式版本。
    -AppBox为捐赠软件,请捐赠作者来获取全部源代码(http://fineui.com/donate/)。


    +2009-09-26 v0.1.0
    -第一个开源版本。


    Copyright 2009-2013 sanshi.ustc@gmail.com, All rights reserved.

    AppBox v3.0界面截图

     

     

     

      

     

    更多运行时界面截图,请移步:http://fineui.com/bbs/forum.php?mod=viewthread&tid=3788

     
     
    分类: ExtjsFineUI
  • 相关阅读:
    huffman编码压缩算法(转)
    ReLU 和sigmoid 函数对比以及droupout
    分类中数据不平衡问题的解决经验(转)
    C++ 虚函数表解析
    const 和宏的区别
    static小结
    javascript技巧字典【转藏】
    七个心理寓言【转】
    购物车悬浮 + 购物数量显示
    好看的图标
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3287313.html
Copyright © 2020-2023  润新知