Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- DataFieldConverter.cs
- XPathParser.cs
- DataGridItem.cs
- DisplayNameAttribute.cs
- Selection.cs
- FeatureAttribute.cs
- Psha1DerivedKeyGenerator.cs
- PreviousTrackingServiceAttribute.cs
- LabelLiteral.cs
- HyperLinkField.cs
- BehaviorDragDropEventArgs.cs
- PageAdapter.cs
- SqlVisitor.cs
- LiteralControl.cs
- FieldMetadata.cs
- CodeRegionDirective.cs
- FrameworkReadOnlyPropertyMetadata.cs
- OdbcConnectionHandle.cs
- TypeExtension.cs
- SafeEventLogWriteHandle.cs
- StaticContext.cs
- FieldAccessException.cs
- Exceptions.cs
- ParsedAttributeCollection.cs
- XNodeSchemaApplier.cs
- ItemCheckedEvent.cs
- Model3D.cs
- ReaderWriterLock.cs
- ClrPerspective.cs
- ParameterReplacerVisitor.cs
- StackBuilderSink.cs
- TraceSection.cs
- FormClosingEvent.cs
- RijndaelManagedTransform.cs
- FixedSOMSemanticBox.cs
- DBConnectionString.cs
- StringToken.cs
- LogLogRecordHeader.cs
- __Filters.cs
- Pair.cs
- DrawingContext.cs
- ControlCachePolicy.cs
- OperandQuery.cs
- DataKey.cs
- InfocardChannelParameter.cs
- ExpandCollapsePattern.cs
- GZipStream.cs
- XmlSignificantWhitespace.cs
- MetadataItemEmitter.cs
- PartialCachingControl.cs
- WebBaseEventKeyComparer.cs
- FolderLevelBuildProvider.cs
- NativeObjectSecurity.cs
- DerivedKeySecurityTokenStub.cs
- SkipQueryOptionExpression.cs
- WebBrowser.cs
- HostSecurityManager.cs
- AbstractDataSvcMapFileLoader.cs
- ServicePointManager.cs
- XmlReader.cs
- FrameworkTemplate.cs
- HtmlElement.cs
- SafeHandles.cs
- PageThemeCodeDomTreeGenerator.cs
- LinqDataSourceSelectEventArgs.cs
- SqlException.cs
- IpcClientManager.cs
- ServiceReference.cs
- ApplicationDirectoryMembershipCondition.cs
- PasswordValidationException.cs
- EventLogConfiguration.cs
- SQLDouble.cs
- FlowNode.cs
- GacUtil.cs
- HostedAspNetEnvironment.cs
- RowUpdatedEventArgs.cs
- SqlDataRecord.cs
- SecurityAlgorithmSuiteConverter.cs
- MimeMultiPart.cs
- PopupEventArgs.cs
- ThicknessAnimation.cs
- DriveNotFoundException.cs
- DocumentViewerConstants.cs
- NamespaceQuery.cs
- CultureSpecificCharacterBufferRange.cs
- UIElementIsland.cs
- PenLineJoinValidation.cs
- MemberDescriptor.cs
- Dump.cs
- MemberDescriptor.cs
- SkinIDTypeConverter.cs
- StringAnimationUsingKeyFrames.cs
- KnownIds.cs
- GridViewDesigner.cs
- WebBrowserHelper.cs
- SynchronizationScope.cs
- SQLUtility.cs
- MenuItemStyleCollection.cs
- LabelLiteral.cs
- XmlChoiceIdentifierAttribute.cs