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
- HttpWebRequestElement.cs
- DropShadowBitmapEffect.cs
- XmlEventCache.cs
- NativeMethods.cs
- SoapFault.cs
- ChildChangedEventArgs.cs
- Vector3D.cs
- ASCIIEncoding.cs
- XmlLinkedNode.cs
- PromptEventArgs.cs
- TouchEventArgs.cs
- SqlCommandBuilder.cs
- TriState.cs
- SqlAggregateChecker.cs
- ExtensionsSection.cs
- ParameterExpression.cs
- HtmlGenericControl.cs
- TextDecorationLocationValidation.cs
- XamlClipboardData.cs
- CacheRequest.cs
- CqlParserHelpers.cs
- DateTimeFormatInfo.cs
- StateRuntime.cs
- DBSqlParserColumnCollection.cs
- LowerCaseStringConverter.cs
- CompilerState.cs
- StorageMappingFragment.cs
- WebServiceResponse.cs
- HybridObjectCache.cs
- SqlCommandSet.cs
- IntersectQueryOperator.cs
- Int32RectConverter.cs
- CharacterString.cs
- GenericWebPart.cs
- ImpersonateTokenRef.cs
- RegexInterpreter.cs
- DoubleAnimationBase.cs
- mactripleDES.cs
- XPathMultyIterator.cs
- RelationshipDetailsCollection.cs
- AliasExpr.cs
- SessionPageStateSection.cs
- CodePageUtils.cs
- NativeCompoundFileAPIs.cs
- Pair.cs
- PropertyGridEditorPart.cs
- UrlAuthorizationModule.cs
- SourceElementsCollection.cs
- _RequestLifetimeSetter.cs
- TextTreeUndoUnit.cs
- SurrogateSelector.cs
- X509ChainPolicy.cs
- Bitmap.cs
- Utility.cs
- RegexParser.cs
- MenuScrollingVisibilityConverter.cs
- ExpressionCopier.cs
- ArrayElementGridEntry.cs
- ExeContext.cs
- HybridDictionary.cs
- ScrollItemProviderWrapper.cs
- DataStreamFromComStream.cs
- UIElementHelper.cs
- SqlStatistics.cs
- EventTrigger.cs
- RSATokenProvider.cs
- CryptoApi.cs
- Pkcs9Attribute.cs
- TextElementCollection.cs
- TailPinnedEventArgs.cs
- XmlReaderSettings.cs
- WaitHandle.cs
- CodeNamespaceImportCollection.cs
- WebMessageBodyStyleHelper.cs
- IList.cs
- NavigationProperty.cs
- SurrogateSelector.cs
- TextSelection.cs
- QilTernary.cs
- VectorConverter.cs
- ObjectDataProvider.cs
- Translator.cs
- CalendarTable.cs
- XpsFilter.cs
- ZipIOLocalFileDataDescriptor.cs
- PtsHost.cs
- TypeDescriptor.cs
- RootBuilder.cs
- XPathParser.cs
- FileDialog.cs
- DPAPIProtectedConfigurationProvider.cs
- XPathNodeHelper.cs
- Queue.cs
- FileUtil.cs
- HttpResponse.cs
- Shape.cs
- NativeCompoundFileAPIs.cs
- XmlSchemaObjectTable.cs
- SafeUserTokenHandle.cs
- ProfileBuildProvider.cs