Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Configuration / AuthenticationConfig.cs / 1 / 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; static internal class AuthenticationConfig { 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; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ValidationSummary.cs
- AsyncResult.cs
- BaseInfoTable.cs
- AlignmentXValidation.cs
- DynamicPhysicalDiscoSearcher.cs
- PartialCachingAttribute.cs
- oledbmetadatacolumnnames.cs
- UnsafeNativeMethods.cs
- HelpEvent.cs
- SqlMethodAttribute.cs
- WinFormsSecurity.cs
- AsymmetricSignatureDeformatter.cs
- SqlDataSourceCache.cs
- EdmProviderManifest.cs
- DataServiceHostWrapper.cs
- ButtonBaseAutomationPeer.cs
- SystemInfo.cs
- FileSystemWatcher.cs
- ColumnReorderedEventArgs.cs
- TypeSystemProvider.cs
- Quad.cs
- GeneralTransformGroup.cs
- TransactionOptions.cs
- WebBrowserHelper.cs
- DecimalAverageAggregationOperator.cs
- ResourceWriter.cs
- CompiledIdentityConstraint.cs
- SeparatorAutomationPeer.cs
- _SslSessionsCache.cs
- LayoutEvent.cs
- LockCookie.cs
- ToolBarOverflowPanel.cs
- AsyncStreamReader.cs
- PenCursorManager.cs
- CqlErrorHelper.cs
- BasicCellRelation.cs
- InstallHelper.cs
- ConfigurationManagerHelperFactory.cs
- MailFileEditor.cs
- SyndicationDeserializer.cs
- SizeValueSerializer.cs
- WinEventTracker.cs
- QilFactory.cs
- DataContext.cs
- URLAttribute.cs
- XPathArrayIterator.cs
- _ServiceNameStore.cs
- ProvidersHelper.cs
- UniqueTransportManagerRegistration.cs
- InfoCardClaimCollection.cs
- HttpGetServerProtocol.cs
- NavigationCommands.cs
- FrameworkContextData.cs
- PageVisual.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- XmlSortKey.cs
- SemanticResolver.cs
- DeleteIndexBinder.cs
- Stackframe.cs
- InvalidOleVariantTypeException.cs
- ClientFormsAuthenticationCredentials.cs
- HttpVersion.cs
- InkPresenterAutomationPeer.cs
- PageHandlerFactory.cs
- Button.cs
- RankException.cs
- NTAccount.cs
- SafeNativeMemoryHandle.cs
- Int16.cs
- CoTaskMemHandle.cs
- LayoutTable.cs
- DataColumnCollection.cs
- ConnectionModeReader.cs
- MetadataCache.cs
- AncestorChangedEventArgs.cs
- EntityDataSourceReferenceGroup.cs
- InputQueue.cs
- TrackingProfileSerializer.cs
- ImageAnimator.cs
- PropertyItem.cs
- counter.cs
- StringReader.cs
- Animatable.cs
- SqlInternalConnection.cs
- WebReferenceCollection.cs
- SiteMapProvider.cs
- SHA1CryptoServiceProvider.cs
- AudioFormatConverter.cs
- LinearGradientBrush.cs
- DesignerImageAdapter.cs
- ReadOnlyDataSource.cs
- Int32Storage.cs
- ConnectionConsumerAttribute.cs
- CultureSpecificStringDictionary.cs
- PermissionListSet.cs
- CodeLinePragma.cs
- SymmetricSecurityBindingElement.cs
- InkCollectionBehavior.cs
- PEFileReader.cs
- ClipboardData.cs