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
- Stack.cs
- TemplatePagerField.cs
- EntityException.cs
- QueryRewriter.cs
- DocumentOrderComparer.cs
- GlobalizationSection.cs
- CellRelation.cs
- TreeViewAutomationPeer.cs
- XPathNavigatorKeyComparer.cs
- Timeline.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- TryExpression.cs
- OutputCacheModule.cs
- FilterException.cs
- MappingMetadataHelper.cs
- GenericsInstances.cs
- EndOfStreamException.cs
- SemanticAnalyzer.cs
- externdll.cs
- HtmlContainerControl.cs
- XmlTextEncoder.cs
- CompositeFontFamily.cs
- ReliableMessagingVersionConverter.cs
- DecoratedNameAttribute.cs
- CompilerError.cs
- CrossAppDomainChannel.cs
- SyndicationSerializer.cs
- ProfilePropertySettingsCollection.cs
- WmlCommandAdapter.cs
- PolicyStatement.cs
- FilterElement.cs
- StringInfo.cs
- TcpProcessProtocolHandler.cs
- DbMetaDataCollectionNames.cs
- Directory.cs
- COMException.cs
- DynamicField.cs
- MemberPath.cs
- BinaryConverter.cs
- SettingsPropertyCollection.cs
- Module.cs
- FamilyMapCollection.cs
- DetailsViewUpdateEventArgs.cs
- UnorderedHashRepartitionStream.cs
- ProxyAttribute.cs
- PageRequestManager.cs
- CodeAccessPermission.cs
- UidPropertyAttribute.cs
- ProviderCommandInfoUtils.cs
- ReachPageContentCollectionSerializerAsync.cs
- ProcessModelSection.cs
- InstanceKeyNotReadyException.cs
- BinaryKeyIdentifierClause.cs
- TemplatePagerField.cs
- DataProtection.cs
- CodeNamespaceCollection.cs
- WebPartConnection.cs
- ChangePassword.cs
- CacheRequest.cs
- HttpCacheVaryByContentEncodings.cs
- DataGridItemAttachedStorage.cs
- lengthconverter.cs
- SchemaElementLookUpTable.cs
- _ContextAwareResult.cs
- EventListener.cs
- StatusBarItem.cs
- InstallHelper.cs
- documentsequencetextcontainer.cs
- ProcessHostMapPath.cs
- VirtualPath.cs
- VSWCFServiceContractGenerator.cs
- PointHitTestParameters.cs
- TextBoxLine.cs
- X509Chain.cs
- NumericExpr.cs
- SQLUtility.cs
- KeyPressEvent.cs
- ObjRef.cs
- DataRecordInfo.cs
- EmptyEnumerator.cs
- GcHandle.cs
- DiagnosticsElement.cs
- XmlExtensionFunction.cs
- WindowsBrush.cs
- SchemaTableColumn.cs
- UIElement.cs
- DataFormats.cs
- OpenTypeCommon.cs
- SQLBytes.cs
- WebResponse.cs
- IProvider.cs
- UserControlBuildProvider.cs
- AsyncOperationManager.cs
- BooleanSwitch.cs
- AdapterUtil.cs
- QueryExecutionOption.cs
- AnimationLayer.cs
- EntityEntry.cs
- ClrProviderManifest.cs
- DashStyle.cs