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
- NetworkInformationException.cs
- TdsParser.cs
- ProxyWebPartManager.cs
- DataGridHelper.cs
- DataBindingCollectionConverter.cs
- Operator.cs
- StylusButton.cs
- _PooledStream.cs
- InheritanceContextHelper.cs
- TargetException.cs
- DataGridViewCheckBoxColumn.cs
- ThaiBuddhistCalendar.cs
- AssemblyCache.cs
- CompilerResults.cs
- ParserStreamGeometryContext.cs
- TextBoxDesigner.cs
- Rect3DValueSerializer.cs
- UnsafeNativeMethods.cs
- UntypedNullExpression.cs
- IMembershipProvider.cs
- IApplicationTrustManager.cs
- NameTable.cs
- TypeConverterHelper.cs
- DataRecord.cs
- DataGridCheckBoxColumn.cs
- DefaultSettingsSection.cs
- ScrollContentPresenter.cs
- TransformerInfo.cs
- CatalogZone.cs
- Version.cs
- Switch.cs
- HashAlgorithm.cs
- DbConnectionPool.cs
- ChannelSinkStacks.cs
- X509Certificate2Collection.cs
- SQLDecimal.cs
- DesignTimeVisibleAttribute.cs
- storepermissionattribute.cs
- PolicyUnit.cs
- GenericEnumerator.cs
- EntityContainerEmitter.cs
- Int32Converter.cs
- CodeMethodReturnStatement.cs
- DefinitionBase.cs
- TraceProvider.cs
- AnnotationComponentManager.cs
- SafeNativeMethods.cs
- XmlIlVisitor.cs
- TextEffectCollection.cs
- CriticalHandle.cs
- IssuedSecurityTokenProvider.cs
- StorageMappingItemCollection.cs
- DataSetSchema.cs
- TypeInfo.cs
- SizeChangedEventArgs.cs
- HostingPreferredMapPath.cs
- TypeSource.cs
- MatrixIndependentAnimationStorage.cs
- BinaryCommonClasses.cs
- NetWebProxyFinder.cs
- NamespaceInfo.cs
- QueryReaderSettings.cs
- HandleCollector.cs
- PageEventArgs.cs
- HealthMonitoringSection.cs
- OciLobLocator.cs
- BindingCollection.cs
- DataContractAttribute.cs
- GeometryValueSerializer.cs
- AssemblySettingAttributes.cs
- ChannelBinding.cs
- SerializableAttribute.cs
- SmiXetterAccessMap.cs
- OleDbError.cs
- EntityDataSourceState.cs
- ColumnResult.cs
- TransformValueSerializer.cs
- DataRowExtensions.cs
- WebServiceErrorEvent.cs
- ProfileSettings.cs
- DrawingGroupDrawingContext.cs
- XmlCDATASection.cs
- WindowsListBox.cs
- FormsAuthentication.cs
- XamlLoadErrorInfo.cs
- CapabilitiesSection.cs
- XmlUrlResolver.cs
- KoreanLunisolarCalendar.cs
- InputBinding.cs
- ToolStripDropDownMenu.cs
- PackageRelationship.cs
- ApplicationGesture.cs
- ZeroOpNode.cs
- DelegatedStream.cs
- dsa.cs
- ServiceModelConfiguration.cs
- Compiler.cs
- _ProxyRegBlob.cs
- ModelVisual3D.cs
- TableLayoutPanelDesigner.cs