ASP.NET MVC应用程序的全面安全解决方案

时间:2010-12-13 11:02:05

标签: asp.net-mvc security asp.net-mvc-2

如果您正在计划和准备一个大型ASP.NET MVC项目,您将如何设计和构建需要的全面,可扩展和可维护的安全解决方案

  • 用户,
  • 角色,
  • 控制器级和操作级安全性,
  • 项目级安全性(将用户或角色应用于项目),
  • 安全修整(根据上述设置隐藏一些菜单选项)。

如果你要估计产生这个的时间和精力,并且必须向客户发出qoute,它会是什么?你不必给钱一个数字,只需要收费。

1 个答案:

答案 0 :(得分:3)

  

您无需提供资金,只需支付小费。

您希望某人免费开展您的工作吗?来吧......

授权

无论如何,我会使用代码访问安全性和模拟来实现我所有服务的安全性。检查PrinicpalPermission属性。

控制器/动作级别

对于MVC,只需使用Authorize属性来提供授权。推导它以提供更精细的控制。

安全修整

if (System.Thread.Threading.CurrentThread.CurrentPricinpal.IsInRole("Administrator"))
   //show menu item

项目级别

默认MVC实现不可行。您需要手动检查您的行为。

if (!System.Thread.Threading.CurrentThread.CurrentPricinpal.IsInRole(item.RequiredRole))
  return View("AccessDenied", null); //return accessdenied view.

验证

我不知道你有什么样的用户。是否都在AD域中注册?然后使用Windows身份验证对用户进行身份验证。它只是一个IIS设置..