Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DispatchChannelSink.cs
- MonikerSyntaxException.cs
- NavigatingCancelEventArgs.cs
- CompositeCollectionView.cs
- SystemNetworkInterface.cs
- WebPartDisplayModeEventArgs.cs
- ObjectHelper.cs
- HuffModule.cs
- Accessors.cs
- BinaryConverter.cs
- WaitHandle.cs
- Listen.cs
- dataprotectionpermission.cs
- SafeRightsManagementQueryHandle.cs
- MappingItemCollection.cs
- Selection.cs
- RowTypePropertyElement.cs
- RawStylusSystemGestureInputReport.cs
- LongSumAggregationOperator.cs
- NativeMethods.cs
- CustomErrorsSection.cs
- SmiMetaDataProperty.cs
- TransactionManager.cs
- DataBindingList.cs
- DataGridRelationshipRow.cs
- Point.cs
- CollectionDataContract.cs
- Viewport2DVisual3D.cs
- VerifyHashRequest.cs
- Schema.cs
- DependencyProperty.cs
- Certificate.cs
- ReversePositionQuery.cs
- CodeArrayCreateExpression.cs
- XPathNavigatorReader.cs
- Highlights.cs
- GridViewDeleteEventArgs.cs
- MessageContractImporter.cs
- ProcessModelSection.cs
- FileLogRecordStream.cs
- ActiveXHelper.cs
- __Error.cs
- SqlDataSourceQueryConverter.cs
- WebPartCloseVerb.cs
- HtmlInputFile.cs
- RadioButtonStandardAdapter.cs
- _AutoWebProxyScriptWrapper.cs
- SqlBuffer.cs
- SplitContainer.cs
- OptimisticConcurrencyException.cs
- TextTreeTextBlock.cs
- CodeDOMProvider.cs
- FixedTextContainer.cs
- Tile.cs
- VisualTransition.cs
- Int64AnimationBase.cs
- Keywords.cs
- OleCmdHelper.cs
- ControlBuilder.cs
- HostSecurityManager.cs
- ElapsedEventArgs.cs
- ServiceReference.cs
- Converter.cs
- Effect.cs
- WindowHideOrCloseTracker.cs
- CommandValueSerializer.cs
- JapaneseLunisolarCalendar.cs
- WebDescriptionAttribute.cs
- RequiredArgumentAttribute.cs
- XmlName.cs
- XmlEncoding.cs
- CodeLabeledStatement.cs
- SessionEndingEventArgs.cs
- Rights.cs
- Int32EqualityComparer.cs
- ResourceIDHelper.cs
- ImageCreator.cs
- ServiceManager.cs
- ListenerBinder.cs
- ContentTypeSettingDispatchMessageFormatter.cs
- UnsafeNativeMethods.cs
- SQLConvert.cs
- Rules.cs
- WrapPanel.cs
- CodeTypeConstructor.cs
- CodeIndexerExpression.cs
- CodeDirectiveCollection.cs
- CroppedBitmap.cs
- KeyedHashAlgorithm.cs
- HierarchicalDataSourceConverter.cs
- CellRelation.cs
- Internal.cs
- EntityWithChangeTrackerStrategy.cs
- CaseInsensitiveComparer.cs
- HtmlInputHidden.cs
- BinaryWriter.cs
- RayMeshGeometry3DHitTestResult.cs
- Crypto.cs
- OleStrCAMarshaler.cs
- SerializationObjectManager.cs