WindowsServiceElement.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. //------------------------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------------------------
  4. namespace System.ServiceModel.Configuration
  5. {
  6. using System;
  7. using System.ServiceModel;
  8. using System.Configuration;
  9. using System.ServiceModel.Security;
  10. using System.ServiceModel.Channels;
  11. using System.Xml;
  12. using System.Security.Cryptography.X509Certificates;
  13. public sealed partial class WindowsServiceElement : ConfigurationElement
  14. {
  15. public WindowsServiceElement()
  16. {
  17. }
  18. [ConfigurationProperty(ConfigurationStrings.IncludeWindowsGroups, DefaultValue = SspiSecurityTokenProvider.DefaultExtractWindowsGroupClaims)]
  19. public bool IncludeWindowsGroups
  20. {
  21. get { return (bool)base[ConfigurationStrings.IncludeWindowsGroups]; }
  22. set { base[ConfigurationStrings.IncludeWindowsGroups] = value; }
  23. }
  24. [ConfigurationProperty(ConfigurationStrings.AllowAnonymousLogons, DefaultValue = SspiSecurityTokenProvider.DefaultAllowUnauthenticatedCallers)]
  25. public bool AllowAnonymousLogons
  26. {
  27. get { return (bool)base[ConfigurationStrings.AllowAnonymousLogons]; }
  28. set { base[ConfigurationStrings.AllowAnonymousLogons] = value; }
  29. }
  30. public void Copy(WindowsServiceElement from)
  31. {
  32. if (this.IsReadOnly())
  33. {
  34. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(SR.GetString(SR.ConfigReadOnly)));
  35. }
  36. if (null == from)
  37. {
  38. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("from");
  39. }
  40. this.AllowAnonymousLogons = from.AllowAnonymousLogons;
  41. this.IncludeWindowsGroups = from.IncludeWindowsGroups;
  42. }
  43. internal void ApplyConfiguration(WindowsServiceCredential windows)
  44. {
  45. if (windows == null)
  46. {
  47. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("windows");
  48. }
  49. windows.AllowAnonymousLogons = this.AllowAnonymousLogons;
  50. windows.IncludeWindowsGroups = this.IncludeWindowsGroups;
  51. }
  52. }
  53. }