Enterprise Library Step By Step系列(六)安全应用程序块 - 进阶篇2011-01-28 cnblogs terrylee一.认证(Authentication):Authentication是一个确认调用者身份的过程,使用时需要考虑以下方面:(1)界定认证的使用边界(Boundary),尤其当应用系统跨越信任边界时,一个信任边界通常包括:Assemblies,Processes,Hosts(2)确认调用者的身份(Caller),通常是用户名和密码。关于认证在入门篇里面我们已经给出了示例代码。二.授权(Authorization):Authorization的作用在于决定一个被认证的用户是否具有某种业务操作的权限,不适当的或弱授权可能导致信息泄露或篡改的风险。通过授权进行深度防范是安全应用的一个重要策略。Authorization Provider有两种:Authorization ManagerAuthorization 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;
}