ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: micch

[求助] 关于开发系统时,权限处理的代码思路

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-11 09:50 | 显示全部楼层
本帖最后由 micch 于 2023-1-11 09:56 编辑
smsn 发表于 2023-1-11 00:36
用excel管理权限,感觉很不安全,应该很容易被提权

主要是因为不会别的,并且EH不就是office为主嘛

说到安全,在Excel+vba做模板,肯定没有安全性可言,因为代码都在文件里,直接就能看到。

如果是常规的系统开发,权限和用户数据,应该是存在数据库里,所以用户操作界面无论是Excel还是窗体,都是要读写数据库来完成数据的处理,这种模式保护数据隐私是通过什么方式来处理??

另外,如果数据存储在数据库,那么读取用户,判断权限的代码应该都是通过SQL语句来处理,就不知道该怎么写了。

TA的精华主题

TA的得分主题

发表于 2023-1-11 10:46 | 显示全部楼层
micch 发表于 2023-1-11 09:50
主要是因为不会别的,并且EH不就是office为主嘛

说到安全,在Excel+vba做模板,肯定没有安全性可言, ...

不考虑安全性的话,那就用单个的excel xlsm 或 xlsb 文件,所有代码,操作都在这个文件上,方便传播。

用户列表,通过一个权限和就可以得出用户拥有的权限。
image.png
登录或修改后,加载用户设置到公共变量,无权限的项目能关的先关,隐藏。
剩下执行每步操作,都带个判断权限的函数。

登录等操作的按钮,可以做到office ribbon上。
请参考。
image.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-11 11:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 micch 于 2023-1-11 11:19 编辑
smsn 发表于 2023-1-11 10:46
不考虑安全性的话,那就用单个的excel xlsm 或 xlsb 文件,所有代码,操作都在这个文件上,方便传播。

...

剩下执行每步操作,都带个判断权限的函数。

我主要的问题就是,如何避免这种模式,我觉得执行操作的时候都带个判断权限,有点啰嗦。如果我写100个功能,就要复制100次权限判断代码,感觉这样设计不是很合理。

至于权限的设计,到无所谓什么模式,我主要想知道代码如何写,我现在模拟的那个文件,思路已经满足我的想法了,只是不知道还有没有更好的代码思路。

就像38楼我说的情况:

比如我做了一个没有登录和权限的系统。使用了一段时间我想给系统增加权限和多用户。那么我完全不用改原来系统的代码,只需要另外写登录和权限处理的模块。如果是按上面的代码思路,就需要对原来系统的功能模块,都增加一段if判断权限的代码。这样很不利于扩展或者维护。

至于你之前提到的安全的问题,这个我还不懂,暂时不知道该用什么方式来保护安全,如果是Excel模式,我唯一能想到的就是把用户表和权限表深度隐藏,然后设置工程保护,这种也就防一下完全不懂的小白。不知道用数据库的话,保护安全上,是不是能封好处理 一些。


TA的精华主题

TA的得分主题

发表于 2023-1-11 13:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
micch 发表于 2023-1-11 11:15
剩下执行每步操作,都带个判断权限的函数。

我主要的问题就是,如何避免这种模式,我觉得执行操作的时 ...

好像只能用土方法。

account_tests.zip

19.25 KB, 下载次数: 5

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-1-11 15:34 | 显示全部楼层
smsn 发表于 2023-1-11 13:58
好像只能用土方法。

这就是我原来的做法,每个sub都写相同的语句,一个是麻烦,sub多了要不停的复制,另一个是不方便修改。比如改成不需要权限的系统,100个sub就要改100遍。

我主要就是想找到一种思路,可以不用这样写。指定我发的示例文件比较复杂,不过可以实现,有权限和没有权限,代码是完全隔离,可以自由切换。只是不知道有没有其他更好的方法,毕竟我不专业,只是自己瞎琢磨
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 20:24 , Processed in 0.026447 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表