Welcome

首页 / 软件开发 / .NET编程技术 / Enterprise Library Step By Step系列(六)安全应用程序块 - 进阶篇

Enterprise Library Step By Step系列(六)安全应用程序块 - 进阶篇2011-01-28 cnblogs terrylee一.认证(Authentication):

Authentication是一个确认调用者身份的过程,使用时需要考虑以下方面:

(1)界定认证的使用边界(Boundary),尤其当应用系统跨越信任边界时,一个信任边界通常包括:Assemblies,Processes,Hosts

(2)确认调用者的身份(Caller),通常是用户名和密码。

关于认证在入门篇里面我们已经给出了示例代码。

二.授权(Authorization):

Authorization的作用在于决定一个被认证的用户是否具有某种业务操作的权限,不适当的或弱授权可能导致信息泄露或篡改的风险。通过授权进行深度防范是安全应用的一个重要策略。

Authorization Provider有两种:

Authorization Manager

Authorization Rule(授权规则)

下面来详细看一下授权规则的要素:

I:Identities(身份)

R:Roles(角色)

Operators(关系操作符)

AND OR NOT AND ()

举个例子:R:Employee OR R:Manager OR I:Bob就是一条授权规则

授权规则编辑器界面如下:

认证的基本代码:

public static bool Authorized(string rule)
{
bool authorized = false;

IAuthorizationProvider ruleProvider;
ruleProvider = AuthorizationFactory.GetAuthorizationProvider();
authorized = ruleProvider.Authorize(Thread.CurrentPrincipal, rule);
return authorized;
}