.NET Core Web + Bootstrap企业级快速后台开发框架:内置多模块与数据库支持

一款基于.NET Core Web + Bootstrap的企业级快速后台开发框架。 内置模块如:用户管理、部门管理、菜单管理、角色权限设置、日志管理、新闻管理等。 在线定时任务配置;支持Sql Server、MySql

最近在折腾企业级后台开发?给你安利个宝藏框架——基于.NET Core Web和Bootstrap的快速开发脚手架。这玩意儿内置了后台九成的标准配置,用户权限、部门架构、菜单路由这些破事,半小时就能给你整利索。

权限控制这块最有意思。框架里直接内置了基于角色的访问控制(RBAC),咱们看段控制器代码:

[TypeFilter(typeof(AuthorizeFilter))]
public class UserController : BaseController
{
   
    
    
    [Permission("user:add")]
    public IActionResult CreateUser(UserDto dto)
    {
   
    
    
        // 添加用户的具体逻辑
    }
    
    [Permission("log:view")]
    public IActionResult GetLoginLogs()
    {
   
    
    
        // 查看日志的逻辑
    }
}

这个AuthorizeFilter可不是普通的授权验证,它能自动解析方法上的Permission特性。比如当用户调用CreateUser接口时,会先检查当前角色是否拥有"user:add"权限标识。这种声明式权限配置比传统if-else判断清爽多了,权限颗粒度直接精确到按钮级别。

数据库兼容性这波操作够骚。框架底层用EF Core做了抽象,切换数据库只需要改个配置字符串:

services.AddDbContext<AppDbContext>(options => 
{
   
    
    
    var dbType = Configuration["Database:Type"];
    switch(dbType)
    {
   
    
    
        case "SqlServer":
            options.UseSqlServer(Configuration.GetConnectionString("Default"));
            break;
        case "MySql":
            options.UseMySql(Configuration.GetConnectionString("MySql"), 
                ServerVersion.AutoDetect(Configuration.GetConnectionString("MySql")));
            break;
        // Oracle配置同理
    }
});

遇到过凌晨三点手动执行SQL任务的抓狂时刻吗?框架自带的定时任务模块能救场。在管理界面配置个Cron表达式就能创建任务:

// 定时清理日志任务示例
public class LogCleanTask : ITask
{
   
    
    
    private readonly LogService _logService;
    
    public LogCleanTask(LogService log