码迷,mamicode.com
首页 > Web开发 > 详细

MVC 成员资格、授权和安全性

时间:2014-08-21 16:39:54      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:http   使用   io   strong   文件   for   数据   代码   

要求用Authorize 特性登陆

  要求登陆系统的用户访问哪些由应用程序指定的 URL。我们可以通过使用控制器上或者控制器内部特定操作上的Authorize 操作过滤器来实现。

Authorize:特性是 ASP.NET MVC 自带的默认授权过滤器,可用来限制用户对操作方法的访问。将该特性应用与控制器,就可以快速将其应用与控制器中的每个操作方法。

1.Authorize 在表单身份验证和 AccountController 控制器中的用法

  *ASP.NET MVC 的 Internet Applicaton 模板包含一个基本的 AccountController ,它支持 Membership 和 OAuth验证的账户管理。

  *Authorize 特性是一个过滤器,也就是说,它能优先于相关控制器操作执行。即 Authorize 特性首先执行它在 OnAuthorization 方法中的主要操作,如果用户身份验证失败,它将产生HTTP 401(未授权)的状态码,并重定向到应用程序 web.config 文件中定义的登陆页面,代码如下:

  <authentication mode="Forms">

    <forms loginUrl="~/Account/LogOn" timeout="2880">

  </authentication>

  这个重定向地址包含一个返回URL,以便成功登陆系统后,Account/LogOn 操作可以重定向到最初的请求页面。

  *CheckoutController 上加入特性[Authorize] 中的所有操作都允许注册用户访问,但禁止匿名访问。

 

要求角色成员使用 Authorize 特性

fh

Web应用程序中安全向量的用法

fh

防御性编码

fh

总结

  *永远都宎醒醒用户提供的任何数据

  *每当渲染作为用户输入而引入的数据时,请对其进行HTML编码,如果数据作为特性值显示,就应对其进行HTML 特性编码(HTML-attribute-encode))

  *考虑好网站的那些部分允许匿名访问,那些部分要求认证访问

  *不要试图自己净化用户的HTML输入(使用白名单或其他方法)——否则就会失败

  *在不需要通过客户端脚本(大部分情况下)访问cookic时,使用 HTTP - only cookie

  *请记住,外部输入不是显示的表单域,因为它包括 URL 查询字符串、隐藏表单域、Ajax请求以及我们使用的外部Web服务结果等

  *强烈建议使用 AntiXSS 库(www.codeplex.com/AntiXSS)

 

MVC 成员资格、授权和安全性,布布扣,bubuko.com

MVC 成员资格、授权和安全性

标签:http   使用   io   strong   文件   for   数据   代码   

原文地址:http://www.cnblogs.com/menu/p/3927340.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!