Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / AuthenticationConfig.cs / 1305376 / AuthenticationConfig.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * AuthenticationConfigHandler class * * Copyright (c) 1999 Microsoft Corporation */ namespace System.Web.Configuration { using System.Runtime.Serialization; using System.Web.Util; using System.Collections; using System.IO; using System.Security.Principal; using System.Xml; using System.Security.Cryptography; using System.Configuration; using System.Globalization; using System.Web.Hosting; using System.Web.Compilation; static internal class AuthenticationConfig { private static AuthenticationMode? s_explicitMode; internal static AuthenticationMode Mode { get { if (s_explicitMode.HasValue) { return s_explicitMode.Value; } else { AuthenticationSection settings = RuntimeConfig.GetAppConfig().Authentication; settings.ValidateAuthenticationMode(); return settings.Mode; } } set { Debug.Assert(BuildManager.PreStartInitStage == PreStartInitStage.DuringPreStartInit); Debug.Assert(value == AuthenticationMode.Forms, "Only Forms mode can be set to override config"); s_explicitMode = value; } } internal static String GetCompleteLoginUrl(HttpContext context, String loginUrl) { if (String.IsNullOrEmpty(loginUrl)) { return String.Empty; } if (UrlPath.IsRelativeUrl(loginUrl)) { loginUrl = UrlPath.Combine(HttpRuntime.AppDomainAppVirtualPathString, loginUrl); } return loginUrl; } internal static bool AccessingLoginPage(HttpContext context, String loginUrl) { if (String.IsNullOrEmpty(loginUrl)) { return false; } loginUrl = GetCompleteLoginUrl(context, loginUrl); if (String.IsNullOrEmpty(loginUrl)) { return false; } // Ignore query string int iqs = loginUrl.IndexOf('?'); if (iqs >= 0) { loginUrl = loginUrl.Substring(0, iqs); } String requestPath = context.Request.Path; if (StringUtil.EqualsIgnoreCase(requestPath, loginUrl)) { return true; } // It could be that loginUrl in config was UrlEncoded (ASURT 98932) if (loginUrl.IndexOf('%') >= 0) { String decodedLoginUrl; // encoding is unknown try UTF-8 first, then request encoding decodedLoginUrl = HttpUtility.UrlDecode(loginUrl); if (StringUtil.EqualsIgnoreCase(requestPath, decodedLoginUrl)) { return true; } decodedLoginUrl = HttpUtility.UrlDecode(loginUrl, context.Request.ContentEncoding); if (StringUtil.EqualsIgnoreCase(requestPath, decodedLoginUrl)) { return true; } } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * AuthenticationConfigHandler class * * Copyright (c) 1999 Microsoft Corporation */ namespace System.Web.Configuration { using System.Runtime.Serialization; using System.Web.Util; using System.Collections; using System.IO; using System.Security.Principal; using System.Xml; using System.Security.Cryptography; using System.Configuration; using System.Globalization; using System.Web.Hosting; using System.Web.Compilation; static internal class AuthenticationConfig { private static AuthenticationMode? s_explicitMode; internal static AuthenticationMode Mode { get { if (s_explicitMode.HasValue) { return s_explicitMode.Value; } else { AuthenticationSection settings = RuntimeConfig.GetAppConfig().Authentication; settings.ValidateAuthenticationMode(); return settings.Mode; } } set { Debug.Assert(BuildManager.PreStartInitStage == PreStartInitStage.DuringPreStartInit); Debug.Assert(value == AuthenticationMode.Forms, "Only Forms mode can be set to override config"); s_explicitMode = value; } } internal static String GetCompleteLoginUrl(HttpContext context, String loginUrl) { if (String.IsNullOrEmpty(loginUrl)) { return String.Empty; } if (UrlPath.IsRelativeUrl(loginUrl)) { loginUrl = UrlPath.Combine(HttpRuntime.AppDomainAppVirtualPathString, loginUrl); } return loginUrl; } internal static bool AccessingLoginPage(HttpContext context, String loginUrl) { if (String.IsNullOrEmpty(loginUrl)) { return false; } loginUrl = GetCompleteLoginUrl(context, loginUrl); if (String.IsNullOrEmpty(loginUrl)) { return false; } // Ignore query string int iqs = loginUrl.IndexOf('?'); if (iqs >= 0) { loginUrl = loginUrl.Substring(0, iqs); } String requestPath = context.Request.Path; if (StringUtil.EqualsIgnoreCase(requestPath, loginUrl)) { return true; } // It could be that loginUrl in config was UrlEncoded (ASURT 98932) if (loginUrl.IndexOf('%') >= 0) { String decodedLoginUrl; // encoding is unknown try UTF-8 first, then request encoding decodedLoginUrl = HttpUtility.UrlDecode(loginUrl); if (StringUtil.EqualsIgnoreCase(requestPath, decodedLoginUrl)) { return true; } decodedLoginUrl = HttpUtility.UrlDecode(loginUrl, context.Request.ContentEncoding); if (StringUtil.EqualsIgnoreCase(requestPath, decodedLoginUrl)) { return true; } } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Renderer.cs
- WriteTimeStream.cs
- Control.cs
- PropertySourceInfo.cs
- StringCollection.cs
- XmlEnumAttribute.cs
- ForAllOperator.cs
- ImageSource.cs
- objectquery_tresulttype.cs
- TreeNodeCollection.cs
- ProfileManager.cs
- DBSqlParser.cs
- GeneralTransform.cs
- Italic.cs
- Row.cs
- StackOverflowException.cs
- PopOutPanel.cs
- Properties.cs
- SmtpNegotiateAuthenticationModule.cs
- WeakEventManager.cs
- DataGridViewCellParsingEventArgs.cs
- sortedlist.cs
- Panel.cs
- TextSearch.cs
- AppSettingsSection.cs
- SiteMapDataSource.cs
- IndicCharClassifier.cs
- SendingRequestEventArgs.cs
- FormsAuthenticationModule.cs
- QuaternionAnimation.cs
- IPAddress.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- MappingSource.cs
- Util.cs
- FilePresentation.cs
- DataListGeneralPage.cs
- DocumentPropertiesDialog.cs
- SocketManager.cs
- RefExpr.cs
- ObjectSecurity.cs
- DBAsyncResult.cs
- DocumentCollection.cs
- CssClassPropertyAttribute.cs
- HttpException.cs
- RowVisual.cs
- TreeBuilderXamlTranslator.cs
- AsymmetricCryptoHandle.cs
- ListItem.cs
- HtmlEncodedRawTextWriter.cs
- Tool.cs
- CachedTypeface.cs
- SmiSettersStream.cs
- RequiredFieldValidator.cs
- TableRowCollection.cs
- OrderPreservingMergeHelper.cs
- WebPartAddingEventArgs.cs
- EnumValidator.cs
- MultiSelector.cs
- Relationship.cs
- EncoderParameters.cs
- HtmlInputRadioButton.cs
- PriorityChain.cs
- WebServiceErrorEvent.cs
- KeyGestureConverter.cs
- Root.cs
- CheckBox.cs
- PerformanceCounter.cs
- UidPropertyAttribute.cs
- tabpagecollectioneditor.cs
- DragStartedEventArgs.cs
- XmlSchemaImporter.cs
- WizardStepBase.cs
- XmlMemberMapping.cs
- PointAnimationClockResource.cs
- WebServiceMethodData.cs
- SafeRightsManagementQueryHandle.cs
- SQLSingleStorage.cs
- TypedTableBase.cs
- Serializer.cs
- CryptoProvider.cs
- TableLayoutSettings.cs
- TableItemProviderWrapper.cs
- DragEvent.cs
- SoapCodeExporter.cs
- RequestSecurityToken.cs
- PersistenceTask.cs
- QuaternionAnimationUsingKeyFrames.cs
- MediaPlayerState.cs
- TreeViewEvent.cs
- DynamicResourceExtensionConverter.cs
- CacheHelper.cs
- XmlParserContext.cs
- ConstructorNeedsTagAttribute.cs
- WebPartConnectionsDisconnectVerb.cs
- UpWmlMobileTextWriter.cs
- JsonServiceDocumentSerializer.cs
- SuppressIldasmAttribute.cs
- XmlDataLoader.cs
- VScrollBar.cs
- XmlILAnnotation.cs