我正在使用Visual Studio 2011测试版开发一个新的asp.net mvc4项目,并试图让我了解整个安全问题.它是一个内部Intranet应用程序,最初将使用单点登录,因此不会(还)提示用户输入Windows ID /密码.该公司有一个自定义应用程序,用于存储不同应用程序的角色,并可通过存储过程调用获得.它将获取用户的登录ID并返回某种包含角色的集合,例如"MyApp.Data","MyApp.User","MyApp.Admin".那么这就是所谓的 - 这是一个自定义成员资格提供者,自定义角色提供者或其他什么?
我一直在阅读授权,认证,会员资格,角色等所有细节,我现在看不到树木.我已经读过现有的ASP.NET安全对象已经过试用和测试,除非有非常复杂的要求,否则内置的对象就足够了,所以我很乐意使用现有的内容.
因此,如果用户已经登录到网络,这意味着他们已经过身份验证 - 正确吗?如果是这样,那么我只需要实现授权.是否有必要使用Authorize属性修饰每个Controller或Action?如果是这样,如果我从自定义角色存储应用程序中检索角色,那么[Authorize(Roles ="ABC")]的"ABC"部分如何设置?
我从Jon Galloway那里阅读了几篇文章和博客文章,包括这篇文章,但我最后迷路了:
这么多问题......如果有人知道如何将这一切挂在一起的良好高级描述那么我全都耳朵:)