CSLA .NET 认证与授权及 N 级撤销功能详解
1. 认证与授权
在应用开发中,对用户访问业务对象的属性和方法进行授权是非常重要的。CSLA .NET 提供了一套完善的授权子系统,它基于标准的 .NET 主体和身份对象模型,实现了基于角色的授权方案。
1.1 默认角色检查方法
默认的 IsInRoleProvider() 方法存在于 AuthorizationRules 类中,代码如下:
private static bool IsInRoleDefault(IPrincipal principal, string role)
{
return principal.IsInRole(role);
}
高级业务开发者可以通过替换此方法来改变 IsInRole() 操作的执行方式。
1.2 属性和方法级别的授权
在实际应用中,用户可能有权限访问表单或页面,但并非能访问该表单上的所有数据。或者,根据用户的角色,可能只允许查看某些数据而不允许修改。CSLA .NET 支持业务开发者为业务对象的每个属性指定允许或拒绝读写访问的角色,也可以为对象公开的方法指定允许执行的角色。
属性级别的授权通过 GetProperty() 和 SetProperty() 方法实现,这两个方法会调用 CanReadProperty()
超级会员免费看
订阅专栏 解锁全文
33

被折叠的 条评论
为什么被折叠?



