Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / 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.
//------------------------------------------------------------------------------
//
// 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
- XmlNullResolver.cs
- StorageEndPropertyMapping.cs
- SelectionWordBreaker.cs
- SqlFacetAttribute.cs
- Adorner.cs
- OleServicesContext.cs
- ErrorFormatter.cs
- BrowserCapabilitiesFactoryBase.cs
- SingleObjectCollection.cs
- FixedSOMElement.cs
- RepeatBehaviorConverter.cs
- SingleStorage.cs
- SqlBuffer.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- SAPIEngineTypes.cs
- RowSpanVector.cs
- WorkflowInstanceRecord.cs
- SemanticKeyElement.cs
- PerfCounters.cs
- CategoryAttribute.cs
- RSACryptoServiceProvider.cs
- OleDbPropertySetGuid.cs
- ChildrenQuery.cs
- KnownAssembliesSet.cs
- DataShape.cs
- GridViewUpdateEventArgs.cs
- TraceHwndHost.cs
- MessageBox.cs
- TemplateControlCodeDomTreeGenerator.cs
- EncoderFallback.cs
- NavigationHelper.cs
- StandardCommands.cs
- HttpException.cs
- CompModSwitches.cs
- DefaultParameterValueAttribute.cs
- HMACRIPEMD160.cs
- TextServicesLoader.cs
- MenuStrip.cs
- RegisteredArrayDeclaration.cs
- Style.cs
- PackagePartCollection.cs
- WebPartHeaderCloseVerb.cs
- WebBrowserBase.cs
- TabPage.cs
- WebPartConnectionsConnectVerb.cs
- ListItemConverter.cs
- GuidConverter.cs
- EntityClientCacheEntry.cs
- Item.cs
- ModelUIElement3D.cs
- WeakReferenceKey.cs
- WebBrowserNavigatedEventHandler.cs
- QilValidationVisitor.cs
- SqlDataSourceCache.cs
- DoubleLinkListEnumerator.cs
- AddressingProperty.cs
- OutputCacheProfileCollection.cs
- ListItemParagraph.cs
- EncryptedXml.cs
- ListViewDeleteEventArgs.cs
- ContextMarshalException.cs
- MultiSelectRootGridEntry.cs
- SystemWebExtensionsSectionGroup.cs
- SoapFault.cs
- TextPointer.cs
- TakeQueryOptionExpression.cs
- PipeSecurity.cs
- FileAuthorizationModule.cs
- PopupRoot.cs
- CalendarDesigner.cs
- COSERVERINFO.cs
- HebrewNumber.cs
- DataGridItemAutomationPeer.cs
- SqlCommandBuilder.cs
- Reference.cs
- PathSegmentCollection.cs
- XmlSchemaType.cs
- validationstate.cs
- TypeBuilderInstantiation.cs
- OrderByBuilder.cs
- StringUtil.cs
- FrameSecurityDescriptor.cs
- MatrixCamera.cs
- TdsParameterSetter.cs
- StylusPointCollection.cs
- RelationshipConstraintValidator.cs
- PropertyBuilder.cs
- Container.cs
- InvalidDataException.cs
- StructuredTypeInfo.cs
- HttpStreams.cs
- DataTableNewRowEvent.cs
- GenericXmlSecurityTokenAuthenticator.cs
- HtmlButton.cs
- SessionSwitchEventArgs.cs
- ResolveCompletedEventArgs.cs
- UInt32Storage.cs
- ConfigXmlAttribute.cs
- StringStorage.cs
- RuntimeWrappedException.cs