键盘男 2015-11-06 04:53 采纳率: 0%
浏览 698

基于ASP.NET +Easyui通用权限开发框架,求指导.有演示

基于ASP.NET +Easyui通用权限开发框架,求指导.有演示。
api.ppngt.com

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 17:09
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要使用ASP.NET和EasyUI开发一个通用的权限管理系统,你需要遵循以下步骤:

    1. 安装所需的库:首先,确保你的项目中包含了EasyUI库。你可以通过NuGet包管理器来安装它。打开命令提示符或终端,输入以下命令:
    dotnet add package EasyUI
    
    1. 创建权限模型:在项目中创建一个新的类,用于表示用户的权限。这个类应该包含一些基本的信息,例如用户名、角色等。
    public class UserPermissionModel
    {
        public string UserId { get; set; }
        public string UserName { get; set; }
        public string RoleName { get; set; }
    }
    
    1. 使用EF Core进行数据库操作:为了存储用户信息,你可能需要使用EF Core。首先,确保你的项目中已经添加了EF Core支持。然后,创建一个新的实体类,用于存储用户数据。
    public class UserEntity : DbContext
    {
        public DbSet<UserPermissionModel> UserPermissions { get; set; }
    
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            if (!optionsBuilder.IsConfigured)
            {
                optionsBuilder.UseSqlServer("Server=localhost;Database=MyDB;Trusted_Connection=True;");
            }
        }
    }
    
    1. 使用EasyUI进行前端开发:最后,使用EasyUI进行前端开发。首先,在解决方案资源管理器中找到EasyUI文件夹,并将其复制到你的项目中。然后,创建一个新的命名空间,将所有EasyUI相关的代码都放在其中。
    using System.Collections.Generic;
    using System.Linq;
    using System.Web.Mvc;
    using EasyUI;
    using Microsoft.AspNetCore.Mvc.Filters;
    
    namespace YourNamespace
    {
        public static class FilterExtensions
        {
            public static void AddEasyUIFilter(this ActionExecutingContext context, ActionExecutingFilter filter)
            {
                var easyUiFilter = new EasyUIActionFilter(filter);
                context.ActionFilterChain.Add(easyUiFilter);
            }
        }
    }
    
    1. 实现权限验证功能:在UserPermissionModel类中实现验证方法,以检查当前用户是否有特定的角色。
    public class UserPermissionModel
    {
        //...
        public bool HasRole(string roleName)
        {
            return UserPermissions.Any(u => u.RoleName == roleName);
        }
    }
    
    1. 验证权限并返回结果:最后,为每个控制器添加权限验证过滤器。在这个例子中,我们将在每个控制器上添加一个名为AddEasyUIFilter的方法,该方法会调用AddEasyUIFilter方法并将FilterType设置为EasyUIActionFilter
    public class Controller : ControllerBase
    {
        [HttpGet]
        public ActionResult Index()
        {
            if (HasRole("Admin"))
            {
                return View();
            }
            else
            {
                return Forbid();
            }
        }
    }
    
    [Route("[controller]")]
    [ApiController]
    public class MyController : ControllerBase
    {
        private readonly UserEntity _userEntity;
        private readonly UserManager<UserEntity> _userManager;
    
        public MyController(UserEntity userEntity, UserManager<UserEntity> userManager)
        {
            _userEntity = userEntity;
            _userManager = userManager;
        }
    
        [HttpPost]
        public IActionResult Create([FromBody] UserEntity user)
        {
            //...
        }
    }
    

    现在,你应该有一个简单的权限系统,可以在任何控制器上使用。只需根据需要修改验证逻辑即可。

    评论

报告相同问题?