2010-07-01 91 views
1

我正在查看我的安全模型,并想知道如何处理项目中的安全性(访问控制)?.Net和安全

我对简单的winapps或webapps不感兴趣,但在n层应用程序中。你如何控制访问?你是在每一层,还是在用户/服务前端?你使用自制解决方案还是有任何标准方法?在这种情况下,您是否使用IPrincipal和IIdentity:如何?

很多的问题。回答那些适用于你的问题。所有的答案是最受欢迎的。

+1

您在这篇文章中发表了大量的文章。我可以建议你先做一些阅读,然后再回答具体的问题吗?你所问的就足以填满一本书。 – slugster 2010-07-01 08:35:46

回答

2

你做的每一层,或仅在 用户/服务前端

认证(AuthN)可以和/或授权(AuthZ的)应该做的“最近”的资源,意味着您必须在每个图层上执行authN和authZ-这是与纵深防御战略内联的。始终假定“调用者”已被盗用,因此您需要验证和验证调用者的身份。

您使用自制解决方案还是 有没有标准方法?

它通常是按照标准的方法,除非你确信你的自产自销解决方案的稳健性是一个好主意,同样适用关于加密

您正在使用的IPrincipal和 的IIdentity,在这种情况下:怎么样?

如果它完全是Windows环境,是的,使用IPrincipal和IIdentity是有道理的。 “如何”方很棘手 - 只需看MSDN samples,你就可以扩展IPrincipal和IIdentity来实现你自己的authN和authZ以防非同类(非Windows)网络。

祝你好运!

+0

有什么标准的方法? – jgauffin 2010-07-11 11:31:16

+0

这取决于您尝试控制访问的资源类型。例如,如果您想要将最终用户认证为Web应用程序,则可以使用表单身份验证。如果您正在对自动系统(如Web服务客户端)进行身份验证,则可以使用客户端证书身份验证。对于Intranet方案,您可以使用Windows身份验证。 – gauravphoenix 2010-07-18 00:38:57

0

您可以从学习表单&开始ASP.net中的Windows身份验证。一切如下。