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
- LinkLabel.cs
- sqlinternaltransaction.cs
- NamespaceEmitter.cs
- XhtmlBasicCalendarAdapter.cs
- EpmContentDeSerializer.cs
- ServiceEndpointElement.cs
- NetworkCredential.cs
- DataIdProcessor.cs
- DataGridViewRowsAddedEventArgs.cs
- ContentElement.cs
- ToolStripItemCollection.cs
- UnmanagedMarshal.cs
- StateMachine.cs
- ConfigXmlSignificantWhitespace.cs
- GridViewHeaderRowPresenter.cs
- RenderData.cs
- ObjectDataSourceStatusEventArgs.cs
- AggregatePushdown.cs
- ToolStripPanelRow.cs
- IntersectQueryOperator.cs
- XhtmlConformanceSection.cs
- SqlParameter.cs
- Matrix3DConverter.cs
- DataPagerFieldItem.cs
- RequestCache.cs
- XmlStringTable.cs
- StylusLogic.cs
- NavigationPropertySingletonExpression.cs
- WebPartDisplayMode.cs
- FirstMatchCodeGroup.cs
- AppSettings.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- securestring.cs
- AdapterUtil.cs
- path.cs
- XmlDictionary.cs
- OracleRowUpdatedEventArgs.cs
- ColorKeyFrameCollection.cs
- RegistryPermission.cs
- DispatcherHooks.cs
- ProvideValueServiceProvider.cs
- ColumnPropertiesGroup.cs
- TableCellCollection.cs
- FormViewDeleteEventArgs.cs
- CrossAppDomainChannel.cs
- ClientSideProviderDescription.cs
- OleDbConnectionFactory.cs
- KnownBoxes.cs
- SHA256Managed.cs
- ExpressionConverter.cs
- RowUpdatingEventArgs.cs
- ComponentEvent.cs
- CapabilitiesAssignment.cs
- objectquery_tresulttype.cs
- XmlSchemaSimpleContentExtension.cs
- DataGridRowClipboardEventArgs.cs
- ResourceSet.cs
- RemoteDebugger.cs
- RealProxy.cs
- NotSupportedException.cs
- ContentElementCollection.cs
- StatusBarPanel.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- TextFormatter.cs
- CodeDOMUtility.cs
- SqlClientWrapperSmiStreamChars.cs
- Cast.cs
- ProfileProvider.cs
- Span.cs
- VisualTarget.cs
- GeneratedContractType.cs
- MissingFieldException.cs
- sqlnorm.cs
- CompModHelpers.cs
- FormViewModeEventArgs.cs
- PartialArray.cs
- Executor.cs
- HttpWebRequest.cs
- NavigateEvent.cs
- StateRuntime.cs
- ComplexLine.cs
- ByteAnimationBase.cs
- WebPartEditorApplyVerb.cs
- OdbcParameter.cs
- Method.cs
- XMLSyntaxException.cs
- Tracer.cs
- RectangleConverter.cs
- ArrayEditor.cs
- TextElementEnumerator.cs
- ByteConverter.cs
- AppDomain.cs
- columnmapfactory.cs
- DataGridRow.cs
- VectorAnimationUsingKeyFrames.cs
- InlineCollection.cs
- CommandHelper.cs
- SoundPlayer.cs
- ScrollChangedEventArgs.cs
- DataGridViewHitTestInfo.cs