关于web应用程序安全的思考(序)
2008-11-26 13:36:02 来源:WEB开发网判断权限HasRight方法
使用示例如下:
某aspx.cs的Page_Load代码:
…
string currentUserID = getUserID(); //获取当前登录用户
string deleteUserRightID = "DeleteUser"; //删除用户的权限(HardCode删除用户的功能ID)
IRightProvider functionRight;
//实例化权限功能对象
//如:functionRight = new FunctionRightProvider()
...
//根据是否有权限,决定“删除”按钮是否显示
if(functionRight.HasRight(currentUserID,deleteUserRightID))
deleteBtn.Visible = true;
else
deleteBtn.Visible = false;
...
获取权限列表GetRights方法使用示例如下:某aspx.cs的Page_Load代码:
…
string currentUserID = getUserID(); //获取当前登录用户
IRightProvider factRight;
//实例化权限厂别对象
...
//根据厂别ID获取权限厂别名称
DataTable dt = GetRightData(factRight.GetRights(currentUserID));
//将权限厂别数据绑定厂别下拉列表控件(这样用户只可以选择权限内的厂别)
factDropDownList1.DataSource = dt;
factDropDownList1.DataTextField = "FactName";
factDropDownList1.DataValueField = "FactID";
factDropDownList1.DataBind();
…
上面这个例子,基于更安全的考虑,在Query按钮按下后,应该再对factDropDownList1.SelectedValue进行HasRight判断。
实际开发中,也常常会将权限绑定和取值时的HasRight判断的代码整个封装成一个UserControl,这样就可以像普通DropDownList一样使用了。
更多精彩
赞助商链接