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
- TTSEngineProxy.cs
- MetaChildrenColumn.cs
- ParameterCollection.cs
- TreeNodeStyle.cs
- StdRegProviderWrapper.cs
- SpellerHighlightLayer.cs
- BmpBitmapDecoder.cs
- WaitForChangedResult.cs
- StringKeyFrameCollection.cs
- Base64Stream.cs
- MonthChangedEventArgs.cs
- TransferRequestHandler.cs
- View.cs
- CallTemplateAction.cs
- QilDataSource.cs
- DataSourceSelectArguments.cs
- PolyQuadraticBezierSegment.cs
- ControlIdConverter.cs
- MetaTableHelper.cs
- StrongTypingException.cs
- ClrProviderManifest.cs
- SerializationHelper.cs
- LocalizableResourceBuilder.cs
- DbSetClause.cs
- FormsAuthenticationTicket.cs
- KeyNotFoundException.cs
- DelegateSerializationHolder.cs
- ListMarkerSourceInfo.cs
- WebServiceTypeData.cs
- WebServiceData.cs
- APCustomTypeDescriptor.cs
- HitTestFilterBehavior.cs
- DataMemberAttribute.cs
- TextDocumentView.cs
- Graph.cs
- WindowsTreeView.cs
- MiniCustomAttributeInfo.cs
- CodeActivityContext.cs
- ProfileGroupSettingsCollection.cs
- XmlSchemaSimpleTypeRestriction.cs
- NamedPermissionSet.cs
- LinkedResource.cs
- GeometryDrawing.cs
- HostVisual.cs
- HexParser.cs
- BoundField.cs
- GuidelineSet.cs
- C14NUtil.cs
- Image.cs
- PeerName.cs
- GridEntry.cs
- PagerSettings.cs
- VarRefManager.cs
- HttpRuntimeSection.cs
- LowerCaseStringConverter.cs
- BaseDataBoundControl.cs
- DataException.cs
- ListCollectionView.cs
- HybridCollection.cs
- PersonalizationDictionary.cs
- XmlBinaryReader.cs
- MouseButtonEventArgs.cs
- MeshGeometry3D.cs
- ProcessHostMapPath.cs
- FixedDocument.cs
- BitmapSizeOptions.cs
- DeviceContext2.cs
- __TransparentProxy.cs
- OleDbEnumerator.cs
- ResourceLoader.cs
- ScrollChrome.cs
- controlskin.cs
- HashCryptoHandle.cs
- MetadataCacheItem.cs
- CallbackDebugBehavior.cs
- SimpleBitVector32.cs
- SubclassTypeValidator.cs
- documentation.cs
- CombinedGeometry.cs
- Substitution.cs
- ToolStripSeparator.cs
- ListBase.cs
- HttpFileCollection.cs
- SmiRequestExecutor.cs
- ButtonAutomationPeer.cs
- AttachedPropertyMethodSelector.cs
- ADMembershipUser.cs
- DesignerActionUIStateChangeEventArgs.cs
- ThicknessAnimation.cs
- ProxyAttribute.cs
- ConfigXmlText.cs
- AssemblySettingAttributes.cs
- WebPartDescriptionCollection.cs
- ScrollViewer.cs
- DragStartedEventArgs.cs
- XmlDigitalSignatureProcessor.cs
- UnsafeNativeMethodsCLR.cs
- LambdaCompiler.ControlFlow.cs
- RenderData.cs
- ZipIORawDataFileBlock.cs