我正在查看我的安全模型,并想知道如何处理项目中的安全性(访问控制)?
我对简单的winapps或webapps不感兴趣,但在n层应用程序中。你如何控制访问?您是在每个层中执行此操作,还是仅在用户/服务前端中执行此操作?您使用的是自制解决方案还是有任何标准方法?在这种情况下,您使用的是IPrincipal和IIdentity:如何?
很多问题。回答适用于你的那些。欢迎所有答案。
答案 0 :(得分:2)
你是在每一层,还是只在 用户/服务前端
身份验证(authN)和/或授权(authZ)应该与资源“最接近”完成,这意味着您必须在每个层上执行authN和authZ - 这与深度防御策略一致。始终假设“呼叫者”已被泄露,因此您需要验证并验证呼叫者的身份。
您使用自制解决方案还是? 有没有标准的方法?
遵循标准方法通常是一个好主意,除非您确定自己开发的解决方案的稳健性,同样适用于加密
您使用的是IPrincipal吗? 在这种情况下,IIdentity:如何?
如果它完全是Windows环境,是的,使用IPrincipal和IIdentity是有道理的。 “如何”派对很棘手 - 只需看看MSDN samples,您可以扩展IPrincipal和IIdentity,以便在非同类(非Windows)网络的情况下实现您自己的authN和authZ。
祝你好运!答案 1 :(得分:0)
您可以从学习表格和ASP.net中的Windows身份验证。其他一切都随之而来。