C# WPF上位机开发(权限管理)

news2024/9/25 17:11:33

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        如果软件本身是一个人使用,那么基本上不存在权限管理的问题。但是如果软件不是一个人,而是多个人,甚至是不同班组的人使用,那么这个时候就会涉及到软件权限的问题,哪怕这个软件只是一个单机版软件。设置软件权限的目的主要有两个,第一就是害怕误操作带来意外的结果;第二也是为了数据保密和安全的需要。

1、软件用户类型

        软件的权限简单来说,一般可以分成三种,即管理员权限,高级用户权限,以及一般用户权限或者普通用户权限。毋庸置疑,管理员或者是root用户,一般拥有最高的权限。他可以对其他用户的权限进行配置。

2、不同权限的区别

        通常管理员权限最大,它可以添加、删除用户,可以配置不同人的权限。但是管理员自己,则不会收到任何权限的约束。高级用户的权限相比较一般用户,一般在功能层面更多一些。比如说他可以配置业务流程、修改业务参数、创建新的业务系统,这都是可以的。相比较而言,普通用户权限要小很多,他只能根据高级用户配置的流程去进行处理,本身没有修改和设置的权限。比如流程走到哪一步,他就确定到哪一步。或者说,对于业务流程,他有查询和检索的权限,但是没有修改和删除的权限。

3、实现方式

        目前来说,实现的方式主要还是通过数据库来实现的,通常情况下,会有一张表。这个表里面有编号、名称、权限内容。有了这张表之后,创建用户的时候,将用户的权限和这张表关联一下即可。

        这张表里面的编号比较好理解,就是1,2,3,4,5这些。名称的话,一般就是管理员、高级用户、一般用户,当然也可以灵活添加。权限内容的话,则可以根据软件实际功能进行设计,多数用json的方式来处理。因为每一个模块都有很多的子功能,所以这里权限也是分的非常地细。我们自己在开发软件和设计功能的时候,也需要在这张表的权限内容里面,适时添加对应的内容。

4、使用方式

        一般软件使用的时候,会提示输入用户名和密码。待这些内容都ok之后,就会从数据库中查找一下当前用户对应的角色。等确定了用户类型之后,就会找到3对应的那张表。找到表之后,也就理所当然地确认当前用户对于不同模块的权限。如果权限是放开的,那么对应的菜单和状态栏就是黑色的;如果权限没有放开,那么对应的功能可以不存在,或者菜单本身就是灰色的。当然,一般不显示为好,不然给人一种强烈的、差别对待的感觉。

5、权限的意义

        设立不同权限,主要还是为了软件能够稳定、正常地运行开来。不同的用户,他的专业背景、知识结构都是不一样的,因此有必要通过权限的方式将管理人员、高级使用人员和一般使用人员分开来。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1315031.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python进度条

分享一个进度条python库 瞬间觉得很酷 :)) 它的名字叫tqdm 效果图: 代码: import time from tqdm import tqdmfor i in tqdm(range(100), desc"Loading", unit"kb"):time.sleep(0.1)

iPhone 与三星手机:哪一款最好?

三星比苹果好吗?还是苹果比三星更好? 小米公司如何称霸全球智能手机市场?小米公司,由雷军创立于2010年,是一家领先的电子巨头。以其MIUI系统和互联网服务闻名,小米公司在全球智能手机市场中稳居前列。小米…

【zetoro】文献管理工具使用

文章目录 一、zetoro文献管理二、论文中插入文献三、插件推荐: 一、zetoro文献管理 ➡️如何下载:搜索zotero即可找到官网直接下载安装 ➡️如何导入文献: 1本地文献拖拽导入 2各文献搜索平台上下载zotero格式文件,在zotero-文件…

提升英语学习效率,尽在Eudic欧路词典 for Mac

Eudic欧路词典 for Mac是一款专为英语学习者打造的强大工具。无论您是初学者还是高级学习者,这款词典都能满足您的需求。 首先,Eudic欧路词典 for Mac具备丰富的词库,涵盖了各个领域的单词和释义。您可以轻松查询并学习单词的意思、用法和例…

spring boot 实现直播聊天室

spring boot 实现直播聊天室 技术方案: spring bootwebsocketrabbitmq 使用 rabbitmq 提高系统吞吐量 引入依赖 <dependencies><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.42&…

《人工智能导论》知识思维导图梳理【第6章节】

文章目录 第六章 知识图谱1 知识图谱概述2 知识图谱相关概念3 知识图谱的逻辑结构4 知识图谱的数据存储5 知识图谱的构建过程6 例题 markdown内容的分享 第六章 知识图谱 1 知识图谱概述 2 知识图谱相关概念 3 知识图谱的逻辑结构 4 知识图谱的数据存储 5 知识图谱的构建过程 6…

fl studio20中文内测版下载2024最新完美实现汉化

fl studio20是一款众所周知的水果编曲软件&#xff0c;能够剪辑、混音、录音&#xff0c;它的矢量界面能更好用在4K、5K甚至8K显示器上&#xff0c;还可以可以编曲、剪辑、录音、混音&#xff0c;让你的计算机成为全功能录音室&#xff0c;不论是在功能上面还是用户界面上都是数…

小程序使用Nodejs作为服务端,Nodejs与与MYSQL数据库相连

小程序使用Nodejs作为服务端,Nodejs与MYSQL数据库相连 一、搭建环境二、配置Nodejs三、与小程序交互四、跨域处理/报错处理五、nodejs连接mysql数据库六、微信小程序连接nodejs报错七、小程序成功与服务端相连,且能操作数据库一、搭建环境 新建空文件夹:Win + R进入cmd命令界…

Composer 安装与使用

Composer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库&#xff0c;Composer 会帮你安装这些依赖的库文件&#xff0c;有了它&#xff0c;我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。 Composer 默认情况下不是全局安装&a…

为uniDBGrid设置文字操作栏

为uniDBGrid设置文字操作栏&#xff0c;如下图的效果&#xff0c;用户点击审核&#xff0c;执行审核代码&#xff0c;点退回&#xff0c;执行退回代码&#xff1a; 对于Web应用界面&#xff0c;这是最常见的方式&#xff0c;那对于我等Delphi开发者来说&#xff0c;基于uniGUI该…

RT-DETR优化:轻量化卷积设计 | DualConv双卷积魔改RT-DETR结构

🚀🚀🚀本文改进: DualConv双卷积魔改v8结构,达到轻量化的同时并能够实现小幅涨点 🚀🚀🚀RT-DETR改进创新专栏:http://t.csdnimg.cn/vuQTz 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; RT-DETR模型创新优化,涨点技巧分享,科研小助手; 1.DualC…

SpringBoot 源码解析1:环境搭建

SpringBoot 源码解析1&#xff1a;环境搭建 1.项目结构2.pom.xml3.MyApplication 1.项目结构 最简单的spring-web项目 2.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns…

3. 内容模块管理 - 异常处理与校验

文章目录 内容模块管理一、自定义异常1.1 全局异常处理器1.2 自定义异常1.3 异常统一响应类1.4 封装通用异常信息 二、JSR303校验2.1 Maven坐标2.2 校验规则2.3 代码示例2.4 捕捉校验异常2.5 分组校验2.6 备注 三、全局异常处理23.1 全局异常处理器3.2 结果集3.3 常用注解3.3.1…

喝葡萄酒时观酒闻香尝味究竟有什么用?

对许多人来说&#xff0c;在品尝葡萄酒时能发现大多数人闻不到的香气和尝不到的味道似乎是一种神奇的能力。其他人则认为这是学究式葡萄酒爱好者过于活跃的想象&#xff0c;或者是保持葡萄酒鉴赏精英声誉的一种方式&#xff0c;但两者都不是。 部分是艺术&#xff0c;部分是科…

【异步绘制】UIView刷新原理 与 异步绘制

快捷目录 壹、 iOS界面刷新机制贰、浅谈UIView的刷新与绘制概述一.UIView 与 CALayer1. UIView 与 CALayer的关系2. CALayer的一些常用属性contents属性contentGravity属性contentsScale属性maskToBounds属性contentsRect属性 二.View的布局与显示1.图像显示原理2.布局layoutSu…

关于Ubuntu22.04恢复误删文件的记录

挂载在Ubuntu22.04下的固态盘有文件被误删了&#xff0c;该固态盘是ntfs格式的。 在网上找了很多教程&#xff0c;最后决定用TestDisk工具进行恢复。 现记录如下&#xff1a; Ubuntu安装testdisk sudo apt-get install testdisk运行testdisk sudo testdisk得到 我选择的是…

Vue3使用了Vite和UnoCSS导致前端项目启动报错:Error:EMFILE:too many open files

一个 Vue3 的项目&#xff0c;用的是 Vite 打包&#xff0c;通过 npm run dev 运行时&#xff0c;遇到了以下错误&#xff08;尤其是引入了 Element-Plus 后&#xff09;&#xff1a; Error: EMFILE: too many open files&#xff0c;后面是具体的文件路径。。甚至到了 node_mo…

面试官:这些大学生都会

大家好&#xff0c;我是 JavaPub。 最近有些同学在后台问我&#xff0c;面试总是会遇到被问 Linux 命令的问题&#xff0c;自己就面试个后端开发岗位&#xff0c;怎么这么难呢&#xff1f; 其实 Linux 命令&#xff0c;对于一个后端开发来说&#xff0c;并不是很难&#xff0c…

【DataSophon】大数据管理平台DataSophon-1.2.1基本使用

&#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&am…

git 常见错误总结(会不断更新中。。)

常见错误 1. 配置部署key后git clone还是拉不下代码 执行以下命令 先添加 SSH 密钥到 SSH 代理&#xff1a; 如果你使用 SSH 代理&#xff08;例如 ssh-agent&#xff09;&#xff0c;将生成的私钥添加到代理中。 ssh-add ~/.ssh/gstplatrontend/id_rsa如果报错以下错误信息…