欢迎来到天天文库
浏览记录
ID:36489728
大小:76.09 KB
页数:9页
时间:2019-05-11
《WCF的安全审核》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、http://download.csdn.net/user/xdpcxqWCF的安全审核——记录谁在敲打你的门WCF所谓的安全审核就是针对认证和授权所做的针对EventLog的日志记录。我们不但可以设置进行审核的事件(认证成功/失败,授权成功或失败),还可以选择记录信息被写入的EventLog类型,即应用程序日志(Application)还是安全日志(Security)。WCF的安全审核是通过ServiceSecurityAuditBehavior服务行为实现的。一、ServiceSecurityAuditBehavior服务行为针对WCF安全审核的编程只涉及ServiceSecurityAu
2、ditBehavior服务行为。下面给出了定义在ServiceSecurityAuditBehavior中具体审核行为进行控制的三个可读写的属性。1:publicsealedclassServiceSecurityAuditBehavior:IServiceBehavior2:{3://其他成员4:publicAuditLogLocationAuditLogLocation{get;set;}5:publicAuditLevelMessageAuthenticationAuditLevel{get;set;}6:publicAuditLevelServiceAuthorizationAudit
3、Level{get;set;}7:publicboolSuppressAuditFailure{get;set;}8:}属性AuditLogLocation代表的是日志信息被写入的EventLog类型,该属性的类型是一个具有如下定义的AuditLogLocation枚举。其中Application和Security分别代表应用程序日志和安全日志。如果选择Default,则最终日志被写入的位置决定于当前的操作系统。如果支持写入安全日志,则选择安全日志类型,否则选择应用程序日志类型。Default是默认选项。1:publicenumAuditLogLocation2:{3:Default,4:Ap
4、plication,5:Security6:}MessageAuthenticationAuditLevel和ServiceAuthorizationAuditLevel两个属性分别代表针对认证和授权审核的级别。所谓审核的级别在这里指的应该在审核事件(认证和授权)在成功或者失败的情况下进行日志记录。审核级别通过具有如下定义的AuditLevel枚举表示。Success和Failure代表分别针对http://download.csdn.net/user/xdpcxq认证/授权成功和失败进行审核日志。SuccessOrFailure则意味着不管认证/授权是成功还是失败,都会进行审核日志。None
5、为默认值,表示不进行审核日记记录。1:publicenumAuditLevel2:{3:None,4:Success,5:Failure,6:SuccessOrFailure7:}布尔类型的SuppressAuditFailure属性表示审核日志失败是否会影响应用本身。在默认的情况下该属性值为True,意味着为认证和授权进行审核日志的时候出现的异常不会对应用(服务)本身造成任何影响。既然是服务行为,我们就可以通过将创建的ServiceSecurityAuditBehavior添加到服务的行为列表的方式来进行安全审核的控制。当然我们还是推荐采用配置的方式来进行安全什么的相关设置。服务行为Serv
6、iceSecurityAuditBehavior对应的配置节是。在下面的配置中,我定义了一个包含了ServiceSecurityAuditBehavior的服务行为,并对其四个属性进行了显式设置。1:2:3:4:5:6:7、ure"8:serviceAuthorizationAuditLevel="SuccessOrFailure"9:suppressAuditFailure="true"/>10:11:12:13:14:二、安全审核的实现http://dow
7、ure"8:serviceAuthorizationAuditLevel="SuccessOrFailure"9:suppressAuditFailure="true"/>10:11:
此文档下载收益归作者所有