• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

【免费开源】Asp.netCore开发的后台框架(权限介绍)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

大家好,最近把Core学习了下,然后做了个后台框架练习一下。

在这里先向各位介绍一下本系统,欢迎大家试用,如果测到bug欢迎反馈。测试一段时间修复一些明显bug后,将开源公布给大家。

 

.net Core 给我们提供了一个非常好的东西:OnActionExecuting

在每个Action执行之前,进行权限检查,合法就继续,非法就反馈错误信息。我在做这个后台系统时,采用的是如下的方法设定权限:

        [Descriper(Name = "功能权限演示一", Memo = "这里是功能的备注说明", Icode ="A06" ,Super =true)]
        public IActionResult haha()
        {
            //假令供养恒沙圣,不如坚勇求正觉
            return View();
        }

        [Descriper(Name = "功能权限演示二", Memo = "这里是功能的备注说明")]
        public IActionResult hehe()
        {
            //布施、持戒、忍辱、精进、禅定、般若
            return View();
        }

加上自定义标签

[Descriper(Name = "功能权限演示一", Memo = "这里是功能的备注说明", Icode ="A06" ,Super =true)]

即为Action设置了权限,当然,这个标签的使用会配上一段解析程序,这里仅说明使用方法。

Name 表示这个权限的名称。

Memo 用来对这个权限做个详细的描述,以便我们在后台为用户设置权限时,自己能更清楚设置的是什么权限。

Icode 是自己为这个权限设定的简码,因为权限是靠Controller和Action共同定位的,为了简单方便,这里可用Icode来定位权限,当然,这不是必须要设定的。

Super 这个属性是为超级管理员设置,如果设置了Super为true,就表示这个Action只能由超级管理员操作,在本系统中,超级管理员在帐号表里有个lx字段,值为“S”时,表示此帐号是超级管理员。超级管理员主要是给开发人员使用的,用来配置系统。一般给用户使用的Action,设定权限时,不设定Super即可,它默认是false,如上面第二段代码所示。

 

现在,我们看看系统中,这个权限是如何展示的,又是如何设置的。

图1

图中仅显示了“功能权限演示二”,由于Super权限是不开放给一般用户,所以关于它的权限就给它屏蔽了。

在图中我们又看到“系统主后台”这是怎么弄的呢?

图2

只需在Controller上面加一个标签就可以了。这样,在后台页面,会把这个控制器下的所有权限归类到一起显示。

 

图1中,又有“系统自定义权限表【标签】”,这又是什么?

由于我们在开发系统中,会为显示的标签或者按钮设定权限,所以,我们也要有对应的设置。我们只需单独建一个Model,然后在里面配置权限即可。

例如,在本系统中是如下配置的:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Threading.Tasks;

namespace OneMore.Areas.Admin.Models
{

    [Description("系统自定义权限表【标签】")]
    public class Sys_permit_label
    {
        [Descriper(Name = "总金额", Memo = "会费总金额",Icode ="l01")]
        public float mnall { get; set; }

    }

    [Description("系统自定义权限表【按钮】")]
    public class Sys_permit_button
    {
        [Descriper(Name = "添加", Memo = "高级会员,添加服务按钮",Icode ="b01")]
        public float mnall { get; set; }
    }

}

怎么样?设置权限简单吧。

 

为了让权限结构更加清晰,我在系统中再做了个权限分组,而后在帐号管理处又做了个帐号分组,这样可以很方便的为帐号设定权限。

首先是权限分组:

图3

图4

 

然后是帐号分组:

图5

图6

填写分组名,勾选相应的权限,即可完成权限设定。

 

然后就可以创建帐号,设定权限了。

图7

 

 

图8

 

图9

创建完帐号后,我们再点击“编辑”,专门来设定帐号的分组和权限。

图10

 

帐号的操作权限就是这么设置。

在图8里面,还有个“菜单权限设置”,这个菜单是后台管理菜单,比如,我们后台管理新闻,我们要把新闻管理的菜单纳入进来,并且也要设定这个菜单的显示权限。

图11

这里红色框框中的菜单,都是可以在后台配置,并且设定权限。

图12

 

权限的设定和配置就是这么操作。

在使用这套系统进行开发时,只需在Action或者Model里面自己设定权限就可以了,后台会自动把你的权限都读出来,是不是很方便呢?

 

演示地址:

http://om.sddwin.com/admin

打开后,直接点登录就可以了,用户名、密码默认的,验证码做了免疫。

欢迎大家测试,并反馈bug给我,非常感激。待过几天更完善一些后,会将源码全部公开给大家。

我的QQ  175829085


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
在ASP.NETMVC中进行TDD开发发布时间:2022-07-10
下一篇:
ASP.NETIHttpHandler发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap