我在 WCF 应用程序中使用基于角色的安全性。我用 System.Security.Permissions.PrincipalPermissionAttribute 修饰了我的服务操作实现。
如果授权失败,则会引发 System.Security.SecurityException(其中包含断言的角色)。
我想记录 System.Security.SecurityException 的详细信息。但是,如果我实现 IErrorHandler,我没有将原始 System.Security.SecurityException 传递给 HandleError 或 ProvideFault 方法,而是得到 System.ServiceModel.FaultException。后一个例外不包括我要记录的任何详细信息。
有没有办法从 IErrorHandler 中获取原始的 System.Security.SecurityException,或者 WCF 中是否有另一个钩子来获取它?