Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FileRecordSequenceHelper.cs
- TimeZone.cs
- DataListDesigner.cs
- EnvironmentPermission.cs
- StaticTextPointer.cs
- StructuralComparisons.cs
- MexHttpsBindingCollectionElement.cs
- MemberMaps.cs
- MILUtilities.cs
- TextRangeEdit.cs
- SkewTransform.cs
- MultiBinding.cs
- ObjectStateManager.cs
- BatchParser.cs
- SqlBulkCopy.cs
- InputBindingCollection.cs
- ParserOptions.cs
- DbConnectionClosed.cs
- XmlBoundElement.cs
- XmlCompatibilityReader.cs
- Properties.cs
- CodeMethodInvokeExpression.cs
- FileLoadException.cs
- TracingConnection.cs
- X509Certificate2.cs
- ViewStateModeByIdAttribute.cs
- HuffModule.cs
- HttpConfigurationContext.cs
- PersistenceProviderBehavior.cs
- FixedLineResult.cs
- TextTreeObjectNode.cs
- ForeignKeyConstraint.cs
- ExecutedRoutedEventArgs.cs
- SqlException.cs
- StringPropertyBuilder.cs
- VariableBinder.cs
- Inline.cs
- Processor.cs
- MailFileEditor.cs
- TcpStreams.cs
- FrameworkPropertyMetadata.cs
- QilVisitor.cs
- GridViewSelectEventArgs.cs
- EnumBuilder.cs
- WebPartExportVerb.cs
- TdsValueSetter.cs
- PeerPresenceInfo.cs
- EntryWrittenEventArgs.cs
- GridItemPattern.cs
- DataGridItemEventArgs.cs
- GorillaCodec.cs
- ArrayEditor.cs
- WebServicesInteroperability.cs
- Accessible.cs
- XmlWrappingWriter.cs
- Wildcard.cs
- HtmlControlPersistable.cs
- UserPreferenceChangingEventArgs.cs
- HistoryEventArgs.cs
- CodeNamespaceImportCollection.cs
- Executor.cs
- CodeDelegateCreateExpression.cs
- AxHost.cs
- ChildrenQuery.cs
- SizeChangedInfo.cs
- EntryWrittenEventArgs.cs
- Point3DIndependentAnimationStorage.cs
- SerializationTrace.cs
- ProxyWebPartManager.cs
- DragDeltaEventArgs.cs
- SingleStorage.cs
- DefaultPrintController.cs
- Message.cs
- WorkflowServiceBuildProvider.cs
- SignatureToken.cs
- PrintDialog.cs
- GridViewItemAutomationPeer.cs
- COMException.cs
- FixedSOMLineRanges.cs
- WebRequestModuleElementCollection.cs
- DocumentSchemaValidator.cs
- GroupItemAutomationPeer.cs
- safex509handles.cs
- DataBoundControlHelper.cs
- GlyphInfoList.cs
- AccessDataSourceWizardForm.cs
- TypefaceMetricsCache.cs
- FlowLayoutSettings.cs
- OdbcError.cs
- SupportsEventValidationAttribute.cs
- CreateUserWizardStep.cs
- ProtocolViolationException.cs
- RadioButtonFlatAdapter.cs
- CancellationScope.cs
- Message.cs
- ManipulationLogic.cs
- EventsTab.cs
- CompilerLocalReference.cs
- WorkflowInstanceQuery.cs
- LinkButton.cs