zoukankan      html  css  js  c++  java
  • 在Winfrom窗体设计中的角色权限赋予以及探索的思路及实现

    一、绪论

    在2020年Dotnet技术日益完善的今天,我们熟知的Dotnet 开发体系有WinForm、 WebFrom、Asp.net、WPF、以及现在正火的Dotnet Core以及Microsoft将要推出的Dotnet 5。总的来说这些开发技术我都用过,今天我想到了一个问题,在WinForm中怎样做到权限分配?当然,因为我主要是写B/S的的,像WinFrom这种窗体发开的以前写过,这段时间不写了。今天写Identity Server 4的时候想到了如何在这种不依赖框架的技术上做权限分配。

    二、选题背景

    ​ 我的选题很简单,是一个烂透了的选题“图书管理系统”,角色我暂定只有两个,也是那两个在这个系统里面不可或缺的角色,“管理员”和“用户”。具体流程的话我就不赘述了,已经烂大街了。

    三、核心需求

    这个选题和大家接触过的需求没有太大出入,无非也就是书籍管理、信息管理、借阅管理等。那么这个的核心需求是什么呢?

    我期望在系统指定了只能有读者和管理员这两个角色之外,我可以给这些人(不区分角色)分配一些权限。

    • 这个场景的话,就简单想像成管理员是老师身份,而读者统一都是学生群体,但是在这些学生中有一些同学参加勤工俭学向学校“打工”赚取零花钱,所以管理图书馆的主管老师可以给这些学生相应的权限,来辅助老师。

    • 至于管理员用不用给他也来个权限的管理呢?当然要来啊,因为本系统中权限最大,最全的管理员是主管图书馆的那位老师,而别的老师虽是老师,但是只是管理其相应的教学任务,不涉及图书馆的工作,但是也可能会有一些老师可能因为工作原因需要图书馆的部分权限,所以需要给管理员身份来一个权限管理。

    四、实现思路

    • 角色实体的分析
    • 权限如何管理
    • 如何在使用者登录之后限制其权限

    五、具体实现

    1. 角色实体

    具体看图

    2. 权限如何管理

    这个的话我是在实体类里面进行区分,具体看代码

    • 根据userSort来判断其角色(为什么没有单独的弄两张表的原因是,我考虑到有的学生可能留校成为老师,还有一个原因是,如何使用两张表的话,判断身份就要多些几行代码,懒得弄了。。)

    • 关于权限的赋予,我是在数据库那边设计一个字段专门存放角色权限,具体看图

    因为已经知道了系统具体有哪些权限可赋予,那么设计一个字符串型字段,通过区间指定相应权限

    3、如何在程序运行中保持用户信息

    我们都知道在B/S架构中,一般使用的是Cookie Session Token,我仿照Session的思路,用户登录成功后将用户的实体信息存放到一个"Session"中

    这个是用户登录的代码

    4、如何“跨域”

    用“跨域”这俩字,就有点扯淡了。。但是暂时想不来有啥更好的,暂定用这个词吧。。。

    5、检查的相应的代码

    6、权限视图设计

    这是设计的权限界面

    如何修改呢?



  • 相关阅读:
    AtCoder Grand Contest 001
    在AT151上面测试串口通讯
    i2c tools 使用
    STM32CUBEF4 实现USB 虚拟串口
    SPI总线工作模式
    树莓派3b+ wifi无线连接
    树莓派开机运行Python脚本 控制LED灯闪烁
    树莓派 使用python来操作GPIO 控制LED灯
    解决树莓派新版系统 ssh连接不了问题
    C# textBox控件只允许为数字和小数点并且提取出这个数字
  • 原文地址:https://www.cnblogs.com/qzdd/p/13295248.html
Copyright © 2011-2022 走看看