AuthenticationSection.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / AuthenticationSection.cs / 2 / AuthenticationSection.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

/***************************************************************************** 
     From machine.config 
        
        
 
            
            

                 
                 
                        
                 

            

             
            
 
        

        
            
 
                 
                
             
            
        

    ******************************************************************************/ 

namespace System.Web.Configuration { 
    using System; 
    using System.Xml;
    using System.Configuration; 
    using System.Collections.Specialized;
    using System.Collections;
    using System.Globalization;
    using System.IO; 
    using System.Text;
    using System.Web.Util; 
    using System.ComponentModel; 
    using System.Security.Permissions;
 
    [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    public sealed class AuthenticationSection : ConfigurationSection {
        private static ConfigurationPropertyCollection _properties;
        private static readonly ConfigurationProperty _propForms = 
            new ConfigurationProperty("forms", typeof(FormsAuthenticationConfiguration), null, ConfigurationPropertyOptions.None);
        private static readonly ConfigurationProperty _propPassport = 
            new ConfigurationProperty("passport", typeof(PassportAuthentication), null, ConfigurationPropertyOptions.None); 
        private static readonly ConfigurationProperty _propMode =
            new ConfigurationProperty("mode", typeof(AuthenticationMode), AuthenticationMode.Windows, ConfigurationPropertyOptions.None); 

        static AuthenticationSection() {
            // Property initialization
            _properties = new ConfigurationPropertyCollection(); 
            _properties.Add(_propForms);
            _properties.Add(_propPassport); 
            _properties.Add(_propMode); 
        }
 
        private bool authenticationModeCached = false;
        private AuthenticationMode authenticationModeCache;

        public AuthenticationSection() { 
        }
 
        protected override ConfigurationPropertyCollection Properties { 
            get {
                return _properties; 
            }
        }

        [ConfigurationProperty("forms")] 
        public FormsAuthenticationConfiguration Forms {
            get { 
                return (FormsAuthenticationConfiguration)base[_propForms]; 
            }
        } 

        [ConfigurationProperty("passport")]
        public PassportAuthentication Passport {
            get { 
                return (PassportAuthentication)base[_propPassport];
            } 
        } 

        [ConfigurationProperty("mode", DefaultValue = AuthenticationMode.Windows)] 
        public AuthenticationMode Mode {
            get {
                if (authenticationModeCached == false) {
                    authenticationModeCache = (AuthenticationMode)base[_propMode]; 
                    authenticationModeCached = true;
                } 
                return authenticationModeCache; 
            }
            set { 
                base[_propMode] = value;
                authenticationModeCache = value;
            }
        } 

        protected override void Reset(ConfigurationElement parentElement) { 
            base.Reset(parentElement); 
            authenticationModeCached = false;
        } 

        // this should only happen at runtime since the design time machine does not
        // need Passport installed to configure the server.
        internal void ValidateAuthenticationMode() { 
            if (Mode == AuthenticationMode.Passport && UnsafeNativeMethods.PassportVersion() < 0) {
                throw new ConfigurationErrorsException(SR.GetString(SR.Passport_not_installed)); 
            } 
        }
    } 
}
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK