Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Configuration / AuthenticationConfig.cs / 1305376 / 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; using System.Web.Compilation; static internal class AuthenticationConfig { private static AuthenticationMode? s_explicitMode; internal static AuthenticationMode Mode { get { if (s_explicitMode.HasValue) { return s_explicitMode.Value; } else { AuthenticationSection settings = RuntimeConfig.GetAppConfig().Authentication; settings.ValidateAuthenticationMode(); return settings.Mode; } } set { Debug.Assert(BuildManager.PreStartInitStage == PreStartInitStage.DuringPreStartInit); Debug.Assert(value == AuthenticationMode.Forms, "Only Forms mode can be set to override config"); s_explicitMode = value; } } 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DescendentsWalkerBase.cs
- HtmlLiteralTextAdapter.cs
- cookie.cs
- AssemblyNameUtility.cs
- _UriTypeConverter.cs
- StringDictionary.cs
- InputProviderSite.cs
- ItemCheckedEvent.cs
- TableMethodGenerator.cs
- EditingScopeUndoUnit.cs
- DesignerAutoFormat.cs
- HtmlHistory.cs
- MailAddressCollection.cs
- FilteredAttributeCollection.cs
- TableHeaderCell.cs
- RenderDataDrawingContext.cs
- ComponentResourceKey.cs
- XmlSchemaCollection.cs
- DataGridView.cs
- DataTable.cs
- MessageHeaderException.cs
- ScriptManagerProxy.cs
- PropertyDescriptor.cs
- NavigationCommands.cs
- SqlPersonalizationProvider.cs
- SoapServerProtocol.cs
- WindowsRichEdit.cs
- SystemIPAddressInformation.cs
- SmtpReplyReaderFactory.cs
- MinMaxParagraphWidth.cs
- BackgroundFormatInfo.cs
- Substitution.cs
- RectAnimationBase.cs
- SettingsSection.cs
- TextDecorations.cs
- LocalFileSettingsProvider.cs
- HeaderedItemsControl.cs
- Rotation3DAnimationBase.cs
- Semaphore.cs
- autovalidator.cs
- Thumb.cs
- DescendantBaseQuery.cs
- CompiledRegexRunnerFactory.cs
- QueryInterceptorAttribute.cs
- ScalarConstant.cs
- IriParsingElement.cs
- SizeAnimation.cs
- XhtmlBasicCommandAdapter.cs
- Base64Encoder.cs
- PkcsUtils.cs
- TimeIntervalCollection.cs
- SignerInfo.cs
- CompilationPass2Task.cs
- SR.Designer.cs
- RewritingSimplifier.cs
- SerializationStore.cs
- FixUpCollection.cs
- SByte.cs
- SchemaInfo.cs
- BoundsDrawingContextWalker.cs
- EmptyReadOnlyDictionaryInternal.cs
- MediaContextNotificationWindow.cs
- DataGridViewCellStyle.cs
- MethodExpr.cs
- DeflateInput.cs
- HttpChannelHelper.cs
- InputEventArgs.cs
- BasicKeyConstraint.cs
- ScrollChrome.cs
- RoleService.cs
- DesignerValidationSummaryAdapter.cs
- SimpleWorkerRequest.cs
- HandleTable.cs
- DataBindingExpressionBuilder.cs
- PageBuildProvider.cs
- OleDbConnectionFactory.cs
- PropertyNames.cs
- SerialStream.cs
- HttpErrorTraceRecord.cs
- BaseValidator.cs
- SendOperation.cs
- ListenerElementsCollection.cs
- ReadOnlyDataSourceView.cs
- TcpHostedTransportConfiguration.cs
- BinHexDecoder.cs
- Size.cs
- TreeView.cs
- XmlRootAttribute.cs
- TextDecorations.cs
- ReverseQueryOperator.cs
- Line.cs
- TabControlEvent.cs
- FileDataSourceCache.cs
- SQLInt64Storage.cs
- OrderToken.cs
- CodeCastExpression.cs
- QilTargetType.cs
- PagedControl.cs
- Message.cs
- HostingPreferredMapPath.cs