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
- X509CertificateTokenFactoryCredential.cs
- DynamicMethod.cs
- ScrollBarRenderer.cs
- DbMetaDataColumnNames.cs
- QilPatternFactory.cs
- PrintDialog.cs
- TypeCacheManager.cs
- SystemEvents.cs
- AssemblyBuilder.cs
- ObjectFullSpanRewriter.cs
- Events.cs
- Positioning.cs
- OpCodes.cs
- DataPointer.cs
- CodePageEncoding.cs
- BlockingCollection.cs
- ListViewAutomationPeer.cs
- TypeSystemHelpers.cs
- BinaryUtilClasses.cs
- VisualBrush.cs
- TemplatedWizardStep.cs
- ClassDataContract.cs
- TextDecoration.cs
- DataGridCheckBoxColumn.cs
- MailMessageEventArgs.cs
- ParameterBinding.cs
- EntityDataSourceSelectedEventArgs.cs
- WindowsRichEditRange.cs
- LinearGradientBrush.cs
- Terminate.cs
- BinaryReader.cs
- ConversionValidationRule.cs
- Stacktrace.cs
- ProxyFragment.cs
- FreezableCollection.cs
- PropertyItemInternal.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- EventPropertyMap.cs
- COM2EnumConverter.cs
- SocketPermission.cs
- PrePrepareMethodAttribute.cs
- CodeParameterDeclarationExpressionCollection.cs
- BooleanAnimationBase.cs
- ParenthesizePropertyNameAttribute.cs
- InputGestureCollection.cs
- DnsPermission.cs
- TextServicesManager.cs
- BooleanSwitch.cs
- AuthenticationService.cs
- HwndSource.cs
- SizeConverter.cs
- TreeNodeCollection.cs
- Compiler.cs
- MimeTypeMapper.cs
- StringOutput.cs
- storepermission.cs
- CaseInsensitiveHashCodeProvider.cs
- DtcInterfaces.cs
- SqlParameter.cs
- odbcmetadatafactory.cs
- _ListenerResponseStream.cs
- ItemCollection.cs
- SqlNotificationEventArgs.cs
- WebPartEditVerb.cs
- TextEditorDragDrop.cs
- BuildManagerHost.cs
- newinstructionaction.cs
- SpeechAudioFormatInfo.cs
- PrincipalPermission.cs
- Frame.cs
- SessionPageStateSection.cs
- BaseInfoTable.cs
- Timer.cs
- ListItemCollection.cs
- SchemaEntity.cs
- StylusPointPropertyId.cs
- TableCell.cs
- HtmlFormWrapper.cs
- PerformanceCounterPermissionEntry.cs
- CorrelationManager.cs
- FileDialogPermission.cs
- SqlCacheDependency.cs
- ClientScriptManager.cs
- HttpModulesSection.cs
- ReadOnlyDataSource.cs
- BuilderPropertyEntry.cs
- HtmlTableRow.cs
- MSAANativeProvider.cs
- ObjectDataSourceView.cs
- DbDeleteCommandTree.cs
- UnauthorizedAccessException.cs
- FloaterBaseParagraph.cs
- WebBrowserContainer.cs
- CollectionChangedEventManager.cs
- SchemaType.cs
- UriParserTemplates.cs
- AssemblyBuilderData.cs
- FtpWebResponse.cs
- ReadOnlyAttribute.cs
- XmlMapping.cs