Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / ndp / fx / src / xsp / System / Web / Extensions / ui / AuthenticationServiceManager.cs / 1 / AuthenticationServiceManager.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI {
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Security.Permissions;
using System.Text;
using System.Web;
using System.Web.ApplicationServices;
using System.Web.Script.Serialization;
using System.Web.Security;
using System.Diagnostics;
[
AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal),
AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal),
DefaultProperty("Path"),
TypeConverter(typeof(EmptyStringExpandableObjectConverter))
]
public class AuthenticationServiceManager {
private string _path;
internal static void ConfigureAuthenticationService(ref StringBuilder sb, HttpContext context, ScriptManager scriptManager, List proxies) {
string authServiceUrl = null;
AuthenticationServiceManager authManager;
if(scriptManager.HasAuthenticationServiceManager) {
authManager = scriptManager.AuthenticationService;
// get ScriptManager.ServiceUrl
authServiceUrl = authManager.Path.Trim();
if(authServiceUrl.Length > 0) {
authServiceUrl = scriptManager.ResolveUrl(authServiceUrl);
}
}
// combine proxy ServiceUrls (find the first one that has specified one)
if(proxies != null) {
foreach(ScriptManagerProxy proxy in proxies) {
if(proxy.HasAuthenticationServiceManager) {
authManager = proxy.AuthenticationService;
// combine urls
authServiceUrl = ApplicationServiceManager.MergeServiceUrls(authManager.Path, authServiceUrl, proxy);
}
}
}
AuthenticationServiceManager.GenerateInitializationScript(ref sb, context, scriptManager, authServiceUrl);
}
private static void GenerateInitializationScript(ref StringBuilder sb, HttpContext context, ScriptManager scriptManager, string serviceUrl) {
bool authEnabled = ApplicationServiceHelper.AuthenticationServiceEnabled;
if(authEnabled) {
if (sb == null) {
sb = new StringBuilder(ApplicationServiceManager.StringBuilderCapacity);
}
// The default path points to the built-in service (if it is enabled)
// Note that the client can't default to this path because it doesn't know what the app root is, we must tell it.
// We must specify the default path to the proxy even if a custom path is provided, because on the client they could
// reset the path back to the default if they want.
string defaultServicePath = scriptManager.ResolveClientUrl("~/" + System.Web.Script.Services.WebServiceData._authenticationServiceFileName);
sb.Append("Sys.Services._AuthenticationService.DefaultWebServicePath = '");
sb.Append(JavaScriptString.QuoteString(defaultServicePath));
sb.Append("';\n");
}
bool pathSpecified = !String.IsNullOrEmpty(serviceUrl);
if(pathSpecified) {
if (sb == null) {
sb = new StringBuilder(ApplicationServiceManager.StringBuilderCapacity);
}
sb.Append("Sys.Services.AuthenticationService.set_path('");
sb.Append(JavaScriptString.QuoteString(serviceUrl));
sb.Append("');\n");
}
// only emit this script if (1) the auth webservice is enabled or (2) a custom webservice url is specified
if ((authEnabled || pathSpecified) &&
(context != null && context.Request.IsAuthenticated)) {
Debug.Assert(sb != null);
sb.Append("Sys.Services.AuthenticationService._setAuthenticated(true);\n");
}
}
[
DefaultValue(""),
Category("Behavior"),
NotifyParentProperty(true),
ResourceDescription("ApplicationServiceManager_Path"),
UrlProperty()
]
public string Path {
get {
return _path ?? String.Empty;
}
set {
_path = value;
}
}
}
}
// 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
- TabControl.cs
- StylusPointPropertyId.cs
- DesignerActionUIService.cs
- URL.cs
- HttpProxyTransportBindingElement.cs
- QueryContinueDragEvent.cs
- ResourceAttributes.cs
- DefinitionUpdate.cs
- Byte.cs
- AtlasWeb.Designer.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- DesigntimeLicenseContext.cs
- Region.cs
- ServiceModelTimeSpanValidator.cs
- ExtensionDataObject.cs
- CodeFieldReferenceExpression.cs
- DataGridRowHeaderAutomationPeer.cs
- RegexMatch.cs
- EventToken.cs
- DropDownList.cs
- TypedReference.cs
- Policy.cs
- CustomCredentialPolicy.cs
- CodeArgumentReferenceExpression.cs
- Win32Exception.cs
- CultureTable.cs
- ConcurrentBag.cs
- AutomationProperties.cs
- SequentialUshortCollection.cs
- Rectangle.cs
- CaseInsensitiveComparer.cs
- RelationshipManager.cs
- AssemblyBuilder.cs
- MsmqIntegrationInputChannel.cs
- SafeNativeMethods.cs
- ConstrainedGroup.cs
- SourceCollection.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- AvTrace.cs
- TraceContextEventArgs.cs
- FlagsAttribute.cs
- DBCSCodePageEncoding.cs
- AssemblyHash.cs
- ReferentialConstraint.cs
- HttpRawResponse.cs
- TextTreeTextBlock.cs
- DesignerActionPropertyItem.cs
- SelectiveScrollingGrid.cs
- DataServiceStreamResponse.cs
- DateTimeFormatInfoScanner.cs
- OdbcRowUpdatingEvent.cs
- UIPermission.cs
- XmlDocument.cs
- CodeArgumentReferenceExpression.cs
- TrackBarRenderer.cs
- ArrangedElement.cs
- TabItem.cs
- ServiceAppDomainAssociationProvider.cs
- Soap.cs
- XmlIlGenerator.cs
- StatusBarItem.cs
- ValidationErrorCollection.cs
- PrimitiveSchema.cs
- ClassImporter.cs
- VoiceSynthesis.cs
- BamlLocalizableResourceKey.cs
- ConsumerConnectionPoint.cs
- PlainXmlWriter.cs
- DataGridCellsPanel.cs
- TableCell.cs
- RegexWorker.cs
- EncoderNLS.cs
- TagPrefixInfo.cs
- Assembly.cs
- ListDictionary.cs
- CancelEventArgs.cs
- Vector.cs
- Decorator.cs
- RSAProtectedConfigurationProvider.cs
- MethodCallTranslator.cs
- BitmapCodecInfoInternal.cs
- SettingsSection.cs
- localization.cs
- HashAlgorithm.cs
- TreeNodeCollectionEditor.cs
- LiteralControl.cs
- PropertyChangingEventArgs.cs
- ProfileModule.cs
- Vector.cs
- OleDbSchemaGuid.cs
- XmlSchemaNotation.cs
- Component.cs
- EdmProviderManifest.cs
- NonClientArea.cs
- CustomErrorsSection.cs
- X509DefaultServiceCertificateElement.cs
- TreeViewAutomationPeer.cs
- XmlCharCheckingWriter.cs
- Int32RectConverter.cs
- RSAProtectedConfigurationProvider.cs