当前位置: 首页 > news >正文

WPF基础权限系统

一.开发环境

  1. VisualStudio 2022
  2. NET SDK 8.0
  3. Prism 版本 8.1.97
  4. Sqlite

二. 功能介绍

  1. WPF 基础权限系统,是一个支持前后端分离设计的 客户端(C/S)项目,该示例项目前端xaml使用UI库 ,Material Design Themes UI 来构建用户界面,确保界面的美观和实用

    同时结合 Prism 框架,Prism框架不仅提供了基础的 属性通知绑定命令操作消息聚合器(发布和订阅) 等核心功能,还拥有一系列强大的附加特性,包括区域管理模块化支持、灵活的导航机制以及会话服务等.这些特性极大的提升项目的可维护性和可扩展性。

    后端方面,采用Web Api做为数据提供接口,数据库则默认使用Sqlite,同时也支持其他数据库,例如:SqlServer,Mysql等。并且使用了 SqlSugar ORM框架来简化了对数据库操作,提高开发效率

2.基础的权限功能模块

  1. 菜单管理:可进行添加,编辑,删除菜单,以及添加菜单所拥有的按钮权限(查看,删除,新增,编辑等等权限,目前只提供了基础的权限按钮)

在这里插入图片描述在这里插入图片描述

  1. 用户管理:添加用户,以及对用户进行授权

添加用户
在这里插入图片描述

  1. 角色管理:添加自定义角色,以及对该角色进行授权,那些角色能访问那些页面以及能拥有那些按钮,并且在添加或编辑用户的时候对该用户赋于不同的角色。这样就实现了,不同的用户拥有不同的角色,不同的角色拥有不同的权限。从而实现了对用户的权限管理

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

其他功能:系统登录,系统日志等都有提供

在这里插入图片描述

三.源码获取和注意事项

  1. 首先,先声明,不是免费的提供源码程序,虽然可能有一定的学习参考价值,但对于使用wpf开发一些简单的程序以及上位机软件,想实现权限控制来说。可能具有一定的参考价值,在项目中使用了SqlSugar ORM 框架简化对数据库操作,以及查权限的时候不再需要用到复杂的联表查询,只需要配置好特性,通过导航查询即可拿到每个用户所关联的权限数据等等,其他的就需要自个去看源码学习了。所以只需要一顿饭钱【199】也不贵,各位的工钱至少也几百块一天,所以需要的就请尊重一下劳动付出成果,感谢。不过,在这之前,还有一个渠道就是Gitee,可以去上面搜索有没有想要的,避免花钱了。恳请各位请大佬,需要就支持一下,不需要也请,不喜勿喷!
  2. 该应用程序,默认使用的数据库是Sqlite,如果想替换成其他数据库,只需要在Web Api 的Program.cs 文件中,进行替换即可。
  3. 如果想更换Sqlite数据库名,直接把源码文件里面的app.db删除掉,在appseting.json 文件中,更改 SqliteConnection 的值。例如:Data Source=xxx.db;接着重新编译,运行程序会自动生成数据库和数据库表以及种子测试数据。
  4. 想更换其他数据库,也是同样的道理。在appseting.json 文件中,配置好对应的连接字符串,以及更改Program.cs 文件中,DbType 的类型即可。
  5. 启用项目之前,一定先启动WebApi项目,或者在应用程序中,右键,选中【配置启动项】,把前端和后端项目设置成一起启动。

在这里插入图片描述
6.设置完成后,直接启动即可

在这里插入图片描述
7.默认账户:Admin,密码:1234。默认账户有根据卡号登录功能,刷卡登录:1234(注册功能没有,实现也简单就没有做,把接口逻辑实现就可以了)
8.在用户界面新增的账户,默认没有开启卡号登录,后继可自行更新修改,添加用户的同时,把卡号赋值,就可以让用户支持刷卡登录也可以账户密码登录。
9.登录图片以及图标,自行按需更改

四.完整的示例演示

动态图:画质不清,是因为进行了压缩,导致变形,不然传不上来

在这里插入图片描述

五.获取方式

  1. 付款的时候,请在备注项:填上您的邮箱,会通过邮件的方式把源码发送给您。如忘记写备注,请私信我。诚信交易,非诚勿扰.
    在这里插入图片描述

相关文章:

WPF基础权限系统

一.开发环境 VisualStudio 2022NET SDK 8.0Prism 版本 8.1.97Sqlite 二. 功能介绍 WPF 基础权限系统,是一个支持前后端分离设计的 客户端(C/S)项目,该示例项目前端xaml使用UI库 ,Material Design Themes UI 来构建用户界面,确保…...

【Java函数篇】Java 8 Predicate函数接口的用法详解

为什么介绍Predicate 自从Java8发布以后,代码里面就多了很多函数式的接口和代码。在流式的编程中,我们经常会用到Predicate和其他函数,在一些开源的代码中也会看到别人定义的Predicate方法。但其实你有没有感觉在写代码的经历中,…...

C++ 一个反射的例子

在 C 中实现反射机制,虽然不像其他高级语言那样直接,但可以通过宏、模板和注册系统等技术来实现一个简易的反射系统。下面是一个完整的 C 反射机制示例,通过自定义类注册系统和宏定义,实现类的名称、属性、方法的反射 。 #includ…...

vue3 解决背景图与窗口留有间隙的问题

需要实现一个登录界面&#xff0c;login.vue的代码如下&#xff1a; <script> import { ref } from vue;export default {setup() {return {};}, }; </script><template><div id"login-container" class"login-container"><di…...

Cesium for UE-04-一些说明

目前主要做webgis的工作&#xff0c;UE官方对web的支持截止到了4.23版本&#xff0c;即使是4.23版本之后的4.xx版本也有办法支持&#xff0c;已经有大佬开源了一些方法和工具&#xff0c;不再介绍。即使是4.23想要输出为h5&#xff0c;也是有一定的折腾门槛的。最重要的是【Ces…...

AIGC:开启智能创造的璀璨新篇章

在当今科技迅猛发展的时代浪潮中&#xff0c;人工智能&#xff08; Artificial Intelligence , AI &#xff09;已然历经了从早期的计算智能、感知智能逐步迈向认知智能的辉煌历程。而在这一进程中&#xff0c; AI 生成内容&#xff08; Artificial Intelligence Generated Con…...

计算机组成原理与系统结构——外部存储器

笔记内容及图片整理自XJTUSE “计算机组成原理与系统结构” 课程ppt&#xff0c;仅供学习交流使用&#xff0c;谢谢。 磁盘 磁盘是一个由非磁性材料构成的圆形盘片&#xff08;称为基片&#xff09;&#xff0c;上面涂抹可磁化材料。传统的基片一直是铝制或铝合金的&#xff0…...

如何使用 Browserless 抓取动态网站?

什么是动态网页&#xff1f; 动态网页是指其内容并非完全直接嵌入在静态HTML中&#xff0c;而是通过服务器端或客户端渲染生成的网页。 它可以根据用户的操作实时显示数据&#xff0c;例如在用户点击按钮或向下滚动页面时加载更多内容&#xff08;如无限滚动&#xff09;。这…...

第21~22周Java主流框架入门-Spring 2.SpringAOP面向切面编程

1.Spring AOP (Aspect-Oriented Programming) 1. 1. 什么是 Spring AOP&#xff1f; AOP&#xff08;面向切面编程&#xff09; 是 Spring 提供的一种可插拔的组件技术&#xff0c;允许我们在软件运行过程中添加额外的功能。场景&#xff1a;假设有两个模块&#xff0c;用户管…...

Flutter不常用组件----InteractiveViewer

在现代移动应用开发中&#xff0c;用户互动性是提升体验的关键。Flutter 提供了多种组件来帮助开发者实现丰富的交互功能&#xff0c;其中一个强大的组件便是 InteractiveViewer。它允许用户通过手势对内容进行缩放、平移和旋转&#xff0c;适用于需要用户查看大图、地图或者其…...

【LeetCode HOT 100】详细题解之二分查找篇

【LeetCode HOT 100】详细题解之二分查找篇 35 搜索插入位置思路代码(左闭右闭)代码(左闭右开) 74 搜索二维矩阵思路代码(左闭右闭) 34 在排序数组中查找元素的第一个和最后一个位置思路代码 33 搜索旋转排序数组思路代码 153 寻找旋转排序数组中的最小值思路代码 4 寻找两个正…...

管理篇(顶级思维模型(31个))(待做)

目录 一、成长进阶模型 二、优势探索模型 三、优势层次模型 四、人生定位模型 五、看懂人性模型 六、如何抉择模型 七、本质思考模型 八、心流模型 九、精力管理模型 十、高效沟通模型 十一、100%传递模型 十二、高效倾听模型 十三、高效表达模型 十四、精准提问模…...

十一、数据库配置

一、Navicat配置 这个软件需要破解 密码是&#xff1a;123456&#xff1b; 新建连接》新建数据库 创建一个表 保存出现名字设置 双击打开 把id设置为自动递增 这里就相当于每一次向数据库添加一个语句&#xff0c;会自动增长id一次 二、数据库的增删改查 1、Vs 建一个控…...

day02 -- docker

1.docker的介绍 Docker 是一个开源的应用容器引擎&#xff0c;基于 Go语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。容器是完全使…...

ecmascript标准

1. 简介 1.1. 概述 ECMAScript(简称ES)是JavaScript编程语言的一个标准化版本。它是为网络开发设计的一种轻量级的脚本语言,主要用于在网页上实现交互性和动态效果。ECMAScript是该语言的标准名称,而JavaScript是其最知名和广泛使用的实现。 1.2. 特点 跨平台性 :ECMAS…...

在Linux命令行中一行执行多个命令

原文地址链接: https://kashima19960.github.io/2024/10/22/Linux/在Linux命令行中一行执行多个命令/&#xff0c;一般有最新的修改都是在我的个人博客里面&#xff0c;所以在当前平台的更新会比较慢&#xff0c;请见谅&#x1f603; 前言 在shell中一个一个命令行&#xff0c…...

u盘快速格式化后怎么恢复文件:深入解析与全面指南

U盘&#xff0c;凭借其小巧便携、易于使用的特点&#xff0c;成为了我们日常生活中不可或缺的数据存储工具。然而&#xff0c;有时为了清除病毒、解决文件系统错误或准备存储新数据&#xff0c;我们可能需要对U盘进行快速格式化。但这一操作往往伴随着一个严峻的问题&#xff1…...

青少年编程能力等级测评CPA C++(二级)试卷(2)

青少年编程能力等级测评CPA C&#xff08;二级&#xff09;试卷&#xff08;2&#xff09; 一、单项选择题&#xff08;共20题&#xff0c;每题3.5分&#xff0c;共70分&#xff09; CP2_2_1&#xff0e;下列C程序段中&#xff0c;对二维数组arr的定义不正确是&#xff08; &…...

aws 把vpc残留删除干净

最近忘了把vpc 删干净导致又被收了冤大头钱 在删除vpc 的收发现又eni在使用&#xff0c;但是忘了是哪个资源在占用 先用命令行把占用的资源找出来停掉 使用 AWS 命令行界面&#xff08;CLI&#xff09;来查看 VPC 的使用情况 列出子网&#xff1a; aws ec2 describe-subnets …...

平衡二叉树最全代码

#include<stdio.h> #include<stdlib.h>typedef struct Node {int val;int height;struct Node *left;struct Node *right; }Node;//创建新结点 Node* newNode(int val) {Node *node (Node*)malloc(sizeof(Node));node->val val;node->height 1;node->l…...

逆向工程实战:如何用dbcc解析第三方CAN协议(含自定义结构体改造技巧)

逆向工程实战&#xff1a;用dbcc深度解析非标CAN协议与结构体改造技巧 在汽车电子和工业控制领域&#xff0c;CAN总线协议逆向分析是一项极具挑战性的工作。面对没有文档说明的第三方设备或商用车辆黑盒协议&#xff0c;工程师常常需要从原始数据流中重建通信逻辑。本文将深入探…...

【AI】《Explainable Machine Learning》(2)

文章目录1、Global Explanation&#xff1a;explain the whole model2、局部解释&#xff08;Local Explanation&#xff09; vs 全局解释&#xff08;Global Explanation&#xff09;3、参考1、Global Explanation&#xff1a;explain the whole model 之前讲的是 local expl…...

告别OpenAI API费用:手把手教你用本地BGE模型+FAISS搭建LangChain私有知识库

零成本构建企业级知识库&#xff1a;基于BGE与FAISS的私有化LangChain解决方案 在AI应用开发领域&#xff0c;数据隐私和成本控制正成为越来越多开发者的核心考量。当OpenAI等商业API按调用次数收费时&#xff0c;频繁的查询请求可能让个人开发者和小型团队不堪重负。更关键的是…...

避坑指南:libvirt远程连接配置全解析(SSH/TCP实战演示)

避坑指南&#xff1a;libvirt远程连接配置全解析&#xff08;SSH/TCP实战演示&#xff09; 虚拟化技术在现代数据中心和云计算环境中扮演着核心角色&#xff0c;而libvirt作为开源虚拟化管理工具的事实标准&#xff0c;其远程管理能力直接决定了运维效率。本文将深入剖析libvir…...

手把手教你部署M2FP:快速搭建人体部位识别服务

手把手教你部署M2FP&#xff1a;快速搭建人体部位识别服务 1. 引言&#xff1a;为什么选择M2FP进行人体解析&#xff1f; 在计算机视觉领域&#xff0c;人体解析&#xff08;Human Parsing&#xff09;是一项关键技术&#xff0c;它能够将图像中的人体划分为多个语义区域&…...

BAGEL终极指南:解密多模态AI模型的三大核心组件协同机制

BAGEL终极指南&#xff1a;解密多模态AI模型的三大核心组件协同机制 【免费下载链接】Bagel BAGEL是一个开源的多模态基础模型&#xff0c;拥有70亿个活跃参数&#xff08;总共140亿个&#xff09;&#xff0c;在大规模交错的多模态数据上进行了训练。BAGEL在标准的多模态理解排…...

别再硬调PI参数了!手把手教你用MATLAB/Simulink搞定PMSM FOC电流环整定(附模型下载)

永磁同步电机FOC控制&#xff1a;从电流环整定到系统优化的工程实践 永磁同步电机&#xff08;PMSM&#xff09;因其高效率、高功率密度和优异的动态性能&#xff0c;在工业驱动、电动汽车和航空航天等领域得到广泛应用。而磁场定向控制&#xff08;FOC&#xff09;作为PMSM的主…...

iOS设备安全定制指南:使用Cowabunga Lite实现零风险个性化配置

iOS设备安全定制指南&#xff1a;使用Cowabunga Lite实现零风险个性化配置 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite iOS系统的封闭性常让用户陷入个性化与安全性的两难选择——越狱虽能…...

3个消息保护痛点解决方案:RevokeMsgPatcher本地消息留存技术全解析

3个消息保护痛点解决方案&#xff1a;RevokeMsgPatcher本地消息留存技术全解析 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https:…...

别再只盯着data://协议了!详解Nginx日志文件包含漏洞的另类利用与防御

从日志污染到权限沦陷&#xff1a;Nginx文件包含漏洞的攻防全景解析 当Web服务器的日志文件成为攻击者的跳板&#xff0c;一场关于权限与防御的暗战便悄然展开。Nginx作为现代互联网基础设施的核心组件&#xff0c;其日志机制在记录访问轨迹的同时&#xff0c;也可能成为系统安…...