Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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.
//
//-----------------------------------------------------------------------------
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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ExtensibleClassFactory.cs
- DataRelation.cs
- CrossSiteScriptingValidation.cs
- XpsResourcePolicy.cs
- MetadataArtifactLoaderCompositeResource.cs
- Form.cs
- SecurityChannelListener.cs
- WebBrowserSiteBase.cs
- Function.cs
- FileVersionInfo.cs
- LeaseManager.cs
- TemplateComponentConnector.cs
- RuntimeArgumentHandle.cs
- MinMaxParagraphWidth.cs
- CollectionType.cs
- InkCanvasSelectionAdorner.cs
- ConvertEvent.cs
- FilterException.cs
- ConsumerConnectionPointCollection.cs
- UniqueEventHelper.cs
- Stack.cs
- StreamGeometryContext.cs
- SeverityFilter.cs
- DataRecordInternal.cs
- UIPropertyMetadata.cs
- BrowserCapabilitiesCodeGenerator.cs
- BindingListCollectionView.cs
- Frame.cs
- SafeProcessHandle.cs
- DefaultBindingPropertyAttribute.cs
- EntitySqlQueryState.cs
- BamlResourceSerializer.cs
- XmlnsCache.cs
- HwndSubclass.cs
- HtmlWindow.cs
- CharacterShapingProperties.cs
- ManagedWndProcTracker.cs
- SessionEndingCancelEventArgs.cs
- FileEnumerator.cs
- Mappings.cs
- Window.cs
- GridViewCancelEditEventArgs.cs
- ValidationHelper.cs
- SQLByte.cs
- AdornerPresentationContext.cs
- ConnectionManagementSection.cs
- ProxyGenerationError.cs
- cache.cs
- CellConstantDomain.cs
- GCHandleCookieTable.cs
- AssemblyBuilder.cs
- TypePropertyEditor.cs
- GridEntryCollection.cs
- __ComObject.cs
- XPathNavigatorReader.cs
- SqlProfileProvider.cs
- DataGridAddNewRow.cs
- DataSet.cs
- XmlSchemaExporter.cs
- Padding.cs
- RenamedEventArgs.cs
- FontStretches.cs
- DataGridViewAutoSizeModeEventArgs.cs
- EdmSchemaAttribute.cs
- WebEventCodes.cs
- PrimitiveOperationFormatter.cs
- ImportCatalogPart.cs
- ActivityWithResult.cs
- TemplateBaseAction.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- SupportsPreviewControlAttribute.cs
- ErrorItem.cs
- PerfCounters.cs
- ActivityWithResult.cs
- ComboBoxRenderer.cs
- MemberJoinTreeNode.cs
- ResXBuildProvider.cs
- ACL.cs
- AtomParser.cs
- MethodToken.cs
- InfoCardTraceRecord.cs
- SqlDataSource.cs
- XdrBuilder.cs
- BinaryObjectWriter.cs
- OleDbMetaDataFactory.cs
- ConstantSlot.cs
- InkCanvasSelectionAdorner.cs
- newinstructionaction.cs
- SiteMapNodeItem.cs
- MetricEntry.cs
- VersionPair.cs
- RelationshipConstraintValidator.cs
- GACMembershipCondition.cs
- DropShadowBitmapEffect.cs
- LocalServiceSecuritySettingsElement.cs
- VerificationAttribute.cs
- TextRangeAdaptor.cs
- NetDataContractSerializer.cs
- ClientEventManager.cs
- WorkItem.cs