一款基于.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