CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

开发安全的ASP.NET应用程序

作者: ,  出处:中国IT实验室收集整理, 责任编辑: 李春禹, 
2007-12-25 09:08
  在鉴别完之后,ASP.NET将校验调用是否被授权用以访问请求的资源来执行操作。在这种情况下,通过比较访问资源的控制列表(ACL)调用的标记来执行校验。鉴别模块使用IsInRole函数通过角色来授权。

  在第一种情况下,要维护个人资料记录,可能需要存储与用户界面有关的设置以及打开或关闭的功能。在设计页面时,访问这些个人资料记录来为当前用户生成相应的页面。

  如果你不必维护每个用户的信息,而只是要将用户分类并维护基于每一类的信息,那基于角色的方法就显得更好。一个角色是一个名称——一个简短的描述性字符串——它为属于这个角色的每个用户定义了一组功能、用户界面元素以及权限。

  定义角色需要两个步骤。首先,定义所有可能的角色,为每个用户分配其中的一个或多个。这通常在数据库层完成。典型的,你在存储用户名字和密码的数据库中加入一列来存储每个用户的角色。

  鉴别一个用户时,其身份并没有和任何角色信息关联。但是,有一个功能用来来检查某一个身份是否属于特定的已定义角色。可以使用Page.User对象的IsInRole功能来检验一个用户的角色: if(User.IsInRole(“Boss”))

  Response.Write(“The user is the boss”);

  定义角色的第二步是将每个已鉴别的用户与角色相关联。要这样做,你必须创建一个新的主体对象,其类型可以是普通的或与授权种类相同。通常在Global.asax文件中处理AuthenticateRequest事件时完成: //角色是根据当前用户从数据库中读出的字符串

  Context.User=new GenericPrincipal(User.Identity,role);

  这时,鉴别模块能够通过本地Web.config文件的区段来检验用户的角色。例如,一个其Web.config文件如下所示的文件夹里的页面只能被属于Boss角色的用户访问:   鉴别模块使用IsInRole函数通过角色来授权。

  保护你的应用程序

  保护一个Web应用程序就必须保护Web服务器不受各种攻击,但是它还需要实现有效的办法来阻止对页面的非法访问。ASP.NET提供了一些内建的代码来对用户和操作来进行鉴别和授权。

共2页。 9 1 2

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i