正在做的一个小系统中,由于权限比较简单,就分为简单的三层(管理员,超级用户,一般用户),每个权限允许进入的模块不同而已所以我想能不能创建一个权限类,在其中分别阐述三种权限的区别,然后在模块中通过引用这个权限类来完成用户的模块访问控制比如说先在Program.cs中声明一个全局变量:
public static string M_str_right;//记录登录用户的权限
接着在登录模块记录下这个全局变量的值
Program.M_str_right = textBox1.Text;
然后创建一个权限类Right.cs,内部定义admin(),superuser(),user()三个方法分别来允许管理员,超级用户,一般用户进入模块。接着在要限制权限的模块中声明一个Right.cs的对象来引用它来判断允许进入的人.这种想法能不能实现的?如果能的话能否给下三个方法的基本代码?我是新手别喷谢谢!
public static string M_str_right;//记录登录用户的权限
接着在登录模块记录下这个全局变量的值
Program.M_str_right = textBox1.Text;
然后创建一个权限类Right.cs,内部定义admin(),superuser(),user()三个方法分别来允许管理员,超级用户,一般用户进入模块。接着在要限制权限的模块中声明一个Right.cs的对象来引用它来判断允许进入的人.这种想法能不能实现的?如果能的话能否给下三个方法的基本代码?我是新手别喷谢谢!
解决方案 »
- c#中的show()方法和showLog方法的返回值都是什么呢
- C#不调用任何系统函数
- c#调用MSsql存储过程返回值的问题
- if(null!=p)和if(p!=null)区别??
- 我做的ftp客户端,登露竟然用了15秒!
- 跪求C#中实现录音并保存为文件的源代码!
- WINFORM窗口背景在不同大小显示屏上会不会变形?
- 组件类如何被工程调用其中的控件
- XML文件根级别上的数据无效。 行 1,位置 1。
- (菜鸟问题)一个函数,我想让它返回一个数组,但数组长度未知,请问我该怎么办。
- 想咨询点wap流量计费的事情
- 如何获取日期控件(MonthCalendar或DateTimePicker、或C1控件等)上的周次?
用户-角色-权限三种元素各自的继承组合策略
角色表,模块表,角色模块表,用户表
根据角色查询用户可操作模块
对于简单的权限控制,用权限类来控制访问的想法能否实现?
用类这种思想是不是不能实现的?
Right.cs
public static bool isAdmin(string right)
{
return "admin" == right;
}
isSuperUser()和isUser()和这个类似
然后应用中
if(Right.isAdmin(right))
{
// 管理员内容
}
else if(Right.isSuperUser())
{
// 超级用户
}
else
// 用户
我的想法是把权限的判断放进创建的Right.cs类中,在模块中只要声明一个Right.cs的对象,引用下相应的方法
比如有个模块form1需要admin权限进入,那我在主界面点击进入form1模块的按钮的click事件上添加代码
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
Right bas = new Right();
bas.isAdmin();
//这样就判断是否权限足够进入模块
Form1 frm = new Form1();
frm.Show();
}
(当然,假如权限不足弹出个“权限不足”的提示)
public class Right
{
private readonly string right;
public Right(string right)
{
this.right = right;
}
public bool isAdmin()
{
// 判断
}
public bool isSuperUser()
{
// 判断
}
public bool isUser()
{
// 判断
}
}
不知我这理解对不对?
public bool isAdmin()
{
return "Admin" == right;
}
public bool isSuperUser()
{
return "SuperUser" == right;
}
public bool isUser()
{
return "User" == right;
}