WEB开发网
开发学院网络安全安全技术 关于web应用程序安全的思考(序) 阅读

关于web应用程序安全的思考(序)

 2008-11-26 13:36:02 来源:WEB开发网   
核心提示: 有了这样互相支持,又相互独立的权限使用和权限管理分离理念后,关于web应用程序安全的思考(序)(9),权限使用就变得非常简单,权限架构又可以任意扩展,看是否可以触发Click事件就可知)这样的权限管控方式对于小型的,简单的系统可能能够满足,灵活变化,最终达到权限接口的统一使用

有了这样互相支持,又相互独立的权限使用和权限管理分离理念后,权限使用就变得非常简单,权限架构又可以任意扩展,灵活变化,最终达到权限接口的统一使用。

换一种安全管控观念

先给出一段在aspx中常见的安全管控代码:

假设登录后UserID存放在Session["UserID"]中

此页面是一个用户信息的修改删除页面,有两个按钮:

SaveBtn :  保存修改按钮,

DeleteBtn : 删除用户按钮

有三个角色

管理员:可以进行修改和删除

主管:只可以修改

普通用户:只能浏览

以下为权限管控相关的代码片段:

if(Session["UserID"] == null)
  Response.Redirect("Login.aspx");  //未登录转向登录页面
string userID = Session["UserID"].ToString();
//预设不能进行任何动作(普通登录用户只能看)
SaveBtn.Visible = false;
DeleteBtn.Visible = false;
if(IsAdmin(userID)){     //如果用户是管理员,则可以修改和删除
  SaveBtn.Visible = true;
  DeleteBtn.Visible = true;
}
else if(IsManager(userID)){ //如果用户是主管,则只能修改
  SaveBtn.Visible = true;
}

顺便提一下:如果安全级别要求更高的话,在SaveBtn_Click和DeleteBtn_Click的事件中也要加入IsAdmin和IsManager的相关代码,以保证不被修改Request,来仿真这些按钮的动作(要验证可以将web运作原理一节中的form.aspx作相应修改,将送出按钮的Visible设为false,看是否可以触发Click事件就可知)

这样的权限管控方式对于小型的,简单的系统可能能够满足,但是一旦系统比较大或者对权限的要求复杂一些时,就会发生问题:

上一页  4 5 6 7 8 9 10  下一页

Tags:关于 web 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接