ServiceSecurityAuditElement.cs 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. //------------------------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------------------------
  4. namespace System.ServiceModel.Configuration
  5. {
  6. using System.ComponentModel;
  7. using System.ServiceModel.Channels;
  8. using System.ServiceModel;
  9. using System.ServiceModel.Description;
  10. using System.Configuration;
  11. using System.ServiceModel.Security;
  12. public sealed partial class ServiceSecurityAuditElement : BehaviorExtensionElement
  13. {
  14. public ServiceSecurityAuditElement()
  15. {
  16. }
  17. [ConfigurationProperty(ConfigurationStrings.AuditLogLocation, DefaultValue = ServiceSecurityAuditBehavior.defaultAuditLogLocation)]
  18. [ServiceModelEnumValidator(typeof(AuditLogLocationHelper))]
  19. public AuditLogLocation AuditLogLocation
  20. {
  21. get { return (AuditLogLocation)base[ConfigurationStrings.AuditLogLocation]; }
  22. set { base[ConfigurationStrings.AuditLogLocation] = value; }
  23. }
  24. [ConfigurationProperty(ConfigurationStrings.SuppressAuditFailure, DefaultValue = ServiceSecurityAuditBehavior.defaultSuppressAuditFailure)]
  25. public bool SuppressAuditFailure
  26. {
  27. get { return (bool)base[ConfigurationStrings.SuppressAuditFailure]; }
  28. set { base[ConfigurationStrings.SuppressAuditFailure] = value; }
  29. }
  30. [ConfigurationProperty(ConfigurationStrings.ServiceAuthorizationAuditLevel, DefaultValue = ServiceSecurityAuditBehavior.defaultServiceAuthorizationAuditLevel)]
  31. [ServiceModelEnumValidator(typeof(AuditLevelHelper))]
  32. public AuditLevel ServiceAuthorizationAuditLevel
  33. {
  34. get { return (AuditLevel)base[ConfigurationStrings.ServiceAuthorizationAuditLevel]; }
  35. set { base[ConfigurationStrings.ServiceAuthorizationAuditLevel] = value; }
  36. }
  37. [ConfigurationProperty(ConfigurationStrings.MessageAuthenticationAuditLevel, DefaultValue = ServiceSecurityAuditBehavior.defaultMessageAuthenticationAuditLevel)]
  38. [ServiceModelEnumValidator(typeof(AuditLevelHelper))]
  39. public AuditLevel MessageAuthenticationAuditLevel
  40. {
  41. get { return (AuditLevel)base[ConfigurationStrings.MessageAuthenticationAuditLevel]; }
  42. set { base[ConfigurationStrings.MessageAuthenticationAuditLevel] = value; }
  43. }
  44. public override void CopyFrom(ServiceModelExtensionElement from)
  45. {
  46. base.CopyFrom(from);
  47. ServiceSecurityAuditElement source = (ServiceSecurityAuditElement)from;
  48. #pragma warning suppress 56506 //[....]; base.CopyFrom() checks for 'from' being null
  49. this.AuditLogLocation = source.AuditLogLocation;
  50. this.SuppressAuditFailure = source.SuppressAuditFailure;
  51. this.ServiceAuthorizationAuditLevel = source.ServiceAuthorizationAuditLevel;
  52. this.MessageAuthenticationAuditLevel = source.MessageAuthenticationAuditLevel;
  53. }
  54. protected internal override object CreateBehavior()
  55. {
  56. ServiceSecurityAuditBehavior behavior = new ServiceSecurityAuditBehavior();
  57. behavior.AuditLogLocation = this.AuditLogLocation;
  58. behavior.SuppressAuditFailure = this.SuppressAuditFailure;
  59. behavior.ServiceAuthorizationAuditLevel = this.ServiceAuthorizationAuditLevel;
  60. behavior.MessageAuthenticationAuditLevel = this.MessageAuthenticationAuditLevel;
  61. return behavior;
  62. }
  63. public override Type BehaviorType
  64. {
  65. get { return typeof(ServiceSecurityAuditBehavior); }
  66. }
  67. }
  68. }