您的位置:首页 > 其它

Enterprise Library Step By Step系列(六):安全应用程序块——进阶篇

2005-10-27 12:52 459 查看
一. 认证(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)
public static void SaveProfile(BaseForm taskForm)
2public static void LoadProfile(BaseForm taskForm)
2{
3

// Lookup profile information
4

if (_profile == null)
5



{
6

IProfileProvider profileProvider;
7

profileProvider = ProfileFactory.GetProfileProvider();
8

_profile = (ProfileInfo) profileProvider.GetProfile(
9

Thread.CurrentPrincipal.Identity
10

);
11

}
12


13

// Apply profile
14

if (_profile == null) _profile = new ProfileInfo();
15

taskForm.FormColor = _profile.FormColor;
16

taskForm.TextColor = _profile.TextColor;
17

}
五. 严格的帐号管理策略:

在应用管理系统中,我们需要有一套严格的帐号管理策略,那么严格的帐号管理包括那些方面?

(1) 您的应用是否需要强密码;

(2) 您是否限制尝试登陆失败的次数;

(3) 是否对登陆失败的原因给与过多的提示;

(4) 是否强制推行密码的有效期限;

(5) 是否根据特殊事件对Account进行无效处理;

(6) 是否对Login进行日志处理;

六. The Security Cache:

在安全应用程序块中允许对Security相关的信息进行缓存,被缓存的喜讯你可以通过Token进行访问,通过缓存而不是每次都进行认证的方式提高系统的效率。

总结:在安全应用程序块中的内容比较多,不能每一个都给出示例,请大家见谅。建议初学的朋友认真看一下Enterprise Library Hands On Lab,做一些Demo多加以理解。会在以后的项目开发中把安全应用程序块运用的更好。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐