FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3380|回复: 4

AppBoxCore - 细粒度权限管理框架(EFCore+RazorPages+async/await)!

[复制链接]
发表于 2020-3-26 10:30:06 | 显示全部楼层 |阅读模式



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
发表于 2020-3-27 13:36:30 | 显示全部楼层
本帖最后由 houzhipeng 于 2020-3-27 14:31 编辑

支持一下,好东西呀!
大致看了一下,其他都可以,就是权限这一块在页面上是硬编码校验的,不够灵活,要是纯数据库配置就好了,希望改进一下
 楼主| 发表于 2020-3-29 21:32:12 | 显示全部楼层
houzhipeng 发表于 2020-3-27 13:36
支持一下,好东西呀!
大致看了一下,其他都可以,就是权限这一块在页面上是硬编码校验的,不够灵活,要是纯 ...

最初的版本就是数据库配置的,其实这样更不灵活。

因为业务逻辑千变万化,很多时候你根本不知道哪个地方需要做权限验证,除非具体到某个页面,所以在页面上编码是合理的。并且权限应该是开发时就已经明确定义好的,运行时只涉及分配权限,不可能新增权限。
发表于 2020-3-30 10:45:16 | 显示全部楼层
本帖最后由 houzhipeng 于 2020-3-30 10:49 编辑
sanshi 发表于 2020-3-29 21:32
最初的版本就是数据库配置的,其实这样更不灵活。

因为业务逻辑千变万化,很多时候你根本不知道哪个地方 ...

这点我不赞同,权限基本就分为读取,新增,保存,删除;除了访问权限,在页面上就是以按钮的方式控制的,
在分配权限的时候,你可以读取该页面上的所有按钮元素(这个不是什么难事吧?),进行勾选,然后保存在数据库里
用户访问该页面,获取该页面的所有权限 控制按钮的启用状态。。
我原来做的winfrom项目就是这样干的,反射获取页面上所有按钮控件。
不用想我也知道,你们FineUI也应该有该页面所有控件的集合的对象
 楼主| 发表于 2020-3-30 11:33:57 | 显示全部楼层
houzhipeng 发表于 2020-3-30 10:45
这点我不赞同,权限基本就分为读取,新增,保存,删除;除了访问权限,在页面上就是以按钮的方式控制的,
...
权限基本就分为读取,新增,保存,删除;除了访问权限

这个思路其实有很大的局限性,早在 2012年,AppBox v3.0 之前的版本就是这样实现的,这也是网上大部分权限管理系统通用的做法:
https://www.cnblogs.com/sanshi/p/3274824.html


正如我在这篇文章说的那样,每个页面都不尽相同,有很多特殊情况。

比如在用户管理页面,表格行中有个【修改密码】按钮,如果要控制这个按钮,就需要一个特殊的权限!

比如想控制页面上有一大段提示信息,只对特定的角色显示,又需要一个权限。

比如我先控制页面上某些按钮(可能是汇总,流程,操作之类的)只对特定的权限显示,可能需要好多个特殊的权限。

总之这样的需要会随着项目的变大逐渐增多,所以将权限扁平化,和自定义化是有必须要的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-3-30 00:00 , Processed in 0.048437 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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