C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - .NET商业化成品成熟各种数据权限的需求对应例子代码
2014-10-10 12:44
1246 查看
还是我上次提出的那个问题
问题:
假设一个订单表,
1.角色A可以看自己的
2.角色B可以看工作组的
3.角色C可以看金额是1000元以下的(自定义条件是否可行?如果可以,请详细说明)
4.角色D可以看整个部门的
5.角色E可以看整个分公司的
6.角色F可以看各分子公司的
参考代码如下:代码量会非常小,而且根本不需要写6个函数的,其实就按钮3的方法其实可以同时满足6个需求的
问题:
假设一个订单表,
1.角色A可以看自己的
2.角色B可以看工作组的
3.角色C可以看金额是1000元以下的(自定义条件是否可行?如果可以,请详细说明)
4.角色D可以看整个部门的
5.角色E可以看整个分公司的
6.角色F可以看各分子公司的
参考代码如下:代码量会非常小,而且根本不需要写6个函数的,其实就按钮3的方法其实可以同时满足6个需求的
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace DotNet.Example { using DotNet.WinForm; using DotNet.Utilities; using DotNet.Business; public partial class FrmByPermission : BaseForm { public FrmByPermission() { InitializeComponent(); } /* 问题:假设一个订单表,角色A可以看自己的,角色B可以看工作组的, 角色C可以看金额是1000元以下的(自定义条件是否可行?如果可以,请详细说明),角色D可以看整个部门的, 角色E可以看整个分公司的,角色F可以看各分子公司的,这该怎么做,还有怎样配置,谢谢。 */ private void btnGetUser1_Click(object sender, EventArgs e) { // 1: 定义几个操作权限、谁有什么操作来控制,数据权限。 // 2: 系统里总有一个地方需要硬编码,例如 查看全公司的人员档案的权限。 // 3: 权限编码,用中文还是用英文,其实是一样的,主要看目标人群是什么, “AllCompany”权限 == “全公司”权限 // 4: 在上面的权限限制的基础上,继续+了条件表达式的2次限制权限 // 保存用户的设置 BaseParameterManager parameterManager = new BaseParameterManager(); parameterManager.SetParameter("User", this.UserInfo.Id, "Score", this.txtScore.Text); // 读取用户的积分条件设置 string score = parameterManager.GetParameter("User", this.UserInfo.Id, "Score"); string whereConditional = BaseUserEntity.FieldScore + "<= " + score; BaseUserManager userManager = new BaseUserManager(this.UserInfo); this.drgUser.DataSource = userManager.GetUserByPermission(whereConditional); } private void btnGetUser2_Click(object sender, EventArgs e) { // 1: 在某个角色,就当是有相应的权限。 // 2: 有个角色就叫“全公司”数据查看的角色,例如“AllCompany” // 3: 角色名称,用英文、用中文是一样的。 // 4: 在上面的权限限制的基础上,继续+了条件表达式的2次限制权限 // 保存用户的设置 BaseParameterManager parameterManager = new BaseParameterManager(); parameterManager.SetParameter("User", this.UserInfo.Id, "Score", this.txtScore.Text); // 读取用户的积分条件设置 string score = parameterManager.GetParameter("User", this.UserInfo.Id, "Score"); string whereConditional = BaseUserEntity.FieldScore + "<= " + score; BaseUserManager userManager = new BaseUserManager(this.UserInfo); this.drgUser.DataSource = userManager.GetUserByRolePermission(whereConditional); } private void btnGetUser21_Click(object sender, EventArgs e) { // 角色A可以看自己的 BaseUserManager userManager = new BaseUserManager(this.UserInfo); this.drgUser.DataSource = userManager.GetUserByRolePermission(); } private void btnGetUser22_Click(object sender, EventArgs e) { // 角色B可以看工作组的 BaseUserManager userManager = new BaseUserManager(this.UserInfo); this.drgUser.DataSource = userManager.GetUserByRolePermission(); } private void btnGetUser23_Click(object sender, EventArgs e) { // 角色C可以看金额是1000元以下的(自定义条件是否可行?如果可以,请详细说明) // 保存用户的设置 BaseParameterManager parameterManager = new BaseParameterManager(); parameterManager.SetParameter("User", this.UserInfo.Id, "Score", this.txtScore.Text); // 读取用户的积分条件设置 string score = parameterManager.GetParameter("User", this.UserInfo.Id, "Score"); string whereConditional = BaseUserEntity.FieldScore + "<= " + score; BaseUserManager userManager = new BaseUserManager(this.UserInfo); this.drgUser.DataSource = userManager.GetUserByRolePermission(whereConditional); } private void btnGetUser24_Click(object sender, EventArgs e) { // 角色D可以看整个部门 BaseUserManager userManager = new BaseUserManager(this.UserInfo); this.drgUser.DataSource = userManager.GetUserByRolePermission(); } private void btnGetUser25_Click(object sender, EventArgs e) { // 角色E可以看整个分公司 BaseUserManager userManager = new BaseUserManager(this.UserInfo); this.drgUser.DataSource = userManager.GetUserByRolePermission(); } private void btnGetUser26_Click(object sender, EventArgs e) { // 角色F可以看各分子公司 BaseUserManager userManager = new BaseUserManager(this.UserInfo); this.drgUser.DataSource = userManager.GetUserByRolePermission(); } } }
相关文章推荐
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 数据权限增强、范围权限增强
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 大数据分页功能改进、数据权限改进
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 省市区数据权限的实现效果
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 远程同步服务器大量基础数据到客户端
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 成熟组件化运行效果分解
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 大数据支持分表优化
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 主管可以看下属的数据
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 树形选择项目的标准例子
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 主细表事务处理的标准例子
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 用户密码安全增强
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 角色成员功能的改进支持公司加入到角色
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 发送通知功能改进改进
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 忘记密码功能改进、手机短信、电子邮件
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 即时消息提醒功能改进
- C#.NET 大型通用信息化系统集成快速开发平台 4.0 版本 - 用户权限树的实现 -- 权限递归树
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 访问记录功能改进
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 客户端多网络支持
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - SOA面向安全的服务调用接口
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 区域管理功能增强(电子商务方向)
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 严格的用户账户审核功能