权限管理、用户权限系统、开源用户权限系统、信息化建设标准基础数据管理平台
代码改变世界

走火入魔权限管理系统、对多系统的集中权限管理配置实现参考

  通用C#系统架构  阅读(1851)  评论(2编辑  收藏  举报

   用一个简单的B2C的网上商场来说,分了3个子系统实现的。

   1)前台购物网站:实现用户在网站上购买商品的动作,与用户的交互部分。

   2)后台配置管理网站:实现网站后台的商品管理、价格管理、订单管理等等管理配置功能部分。

   3)系统配置管理工具:信息系统管理员用的,用来配置整个系统的权限配置,参数配置、数据字典管理功能部分。

 

   这里会有这样的需求产生:

   一个普通的网站客户:他只能登录前台网站,但是不能登录后台管理、系统配置管理工具,虽然用户密码都是对的,也是整个系统的有效用户,但是不允许登录后面的2个系统。

   公司的一个职员(员工):他可以登录后后台配置管理网站,同样他也可以购买自己公司的商品也可以登录前台购物网站,当然没必要搞2个账户吧,就用一套用户名、密码就可以了,但是这个员工未必可以登录系统配置管理工具。

   公司的信息主管:他允许登录任何系统,当然也允许信息主管购买自己公司的商品,当然也用一个账户就可以了,没必要搞3个账户出来,可以充分体现一下我们的设计水平。

 

   解决问题:

   1:前台购物网站:只要用户名、密码对了,账户没挂失、没被锁定的,都可以登录,说白了,是用户就可以登录了。

   2:后台配置管理网站:不仅仅是用户名、密码要对,还需要有权限"Shopping.Admin.Access"权限才可以,登录时需要判断。

   3:系统配置管理工具:不仅仅是用户名、密码要对,还需要有权限"DotNet.Admin.Access"权限才可以,登录时需要判断。

 

   当然我们在底层有封装好的函数提供了,调用一下基于SOA服务理念的的功能函数

    // 用户是否有哪个相应的权限

    isAuthorized = ServiceManager.Instance.PermissionService.IsAuthorized(userInfo, permissionCode);

    就可以了,其中permissionCode 为例如 "Shopping.Admin.Access"、"DotNet.Admin.Access" 就可以了。

 

    用简单的思想解决复杂的的问题是关键、而不是用复杂的思想解决简单的问题。

    权限配置的参考页面为:

    权限分配的参考页面为:

    用户角色的关联,给角色配置权限的参考页面为:

 

    有灵活的配置功能,那就那些角色可以访问哪些系统,哪些用户又归属那些角色,哪些用户又可以访问哪些系统等等,都可以通过配置就可以达到目的了,不用修改程序源码,随时随着客户的需求变化,随时可以进行配置,很灵活,能经得起客户的折腾、需求的不断变化。

    有个设计得充分严谨、可以按自己的需求灵活配置管理,想怎么管理就怎么管理,想怎么设计就怎么设计的管理工具,还是没那么容易的,经得起考验的工具,才有重复利用的价值。

 

 

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!


C# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权


微信扫一扫加好友



点击右上角即可分享
微信分享提示