Class VirtualPathUnifiedProvider
Base class for all unified providers
Inheritance
Namespace: EPiServer.Web.Hosting
Assembly: EPiServer.dll
Version: 7.19.2Syntax
public abstract class VirtualPathUnifiedProvider : VirtualPathProvider
Constructors
VirtualPathUnifiedProvider(String, NameValueCollection)
Base class for EPiServer implementation of VirtualPathProviders.
Declaration
public VirtualPathUnifiedProvider(string name, NameValueCollection configParameters)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The name of the provider |
| System.Collections.Specialized.NameValueCollection | configParameters | The config parameters for the provider |
VirtualPathUnifiedProvider(String, NameValueCollection, IContentLoader, IContentProviderManager, IPageQuickSearch)
Base class for EPiServer implementation of VirtualPathProviders.
Declaration
public VirtualPathUnifiedProvider(string name, NameValueCollection configParameters, IContentLoader contentQueryable, IContentProviderManager pageProviderManager, IPageQuickSearch pageQuickSearch)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | The name of the provider |
| System.Collections.Specialized.NameValueCollection | configParameters | The config parameters for the provider |
| IContentLoader | contentQueryable | The content queryable. |
| IContentProviderManager | pageProviderManager | The page provider manager. |
| IPageQuickSearch | pageQuickSearch | The page quick search. |
Fields
IllegalCharactersDisplayStringDefault
Declaration
public const string IllegalCharactersDisplayStringDefault = "%,&,+,COM[0-9],LPT[0-9],PRN,CLOCK$,AUX,CON,NUL,*."
Field Value
| Type | Description |
|---|---|
| System.String |
IllegalCharactersRegexDefault
Declaration
public const string IllegalCharactersRegexDefault = "%|&|\\+|/COM[0-9]([/\\.]|$)|/LPT[0-9]([/\\.]|$)|/PRN([/\\.]|$)|/CLOCK\\$([/\\.]|$)|/AUX([/\\.]|$)|/NUL([/\\.]|$)|/CON([/\\.]|$)|/.+\\.$|\\.\\."
Field Value
| Type | Description |
|---|---|
| System.String |
Properties
BypassAccessCheck
Flag indicating if this provider is configured as a virtual share.
Declaration
public bool BypassAccessCheck { get; protected set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
ConfigFileSummaryFullPath
Gets or sets the config file summary full path.
Declaration
public string ConfigFileSummaryFullPath { get; protected set; }
Property Value
| Type | Description |
|---|---|
| System.String | The config file summary full path. |
ConfigurationParameters
Gets the configuration parameters for the provider
Declaration
public NameValueCollection ConfigurationParameters { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Specialized.NameValueCollection | The configuration parameters. |
ContentLoader
The IContentLoader instance the consumer should use / is using
Declaration
protected Injected<IContentLoader> ContentLoader { get; set; }
Property Value
| Type | Description |
|---|---|
| Injected<IContentLoader> |
ContentProviderManager
Gets or sets the page provider manager.
Declaration
protected Injected<IContentProviderManager> ContentProviderManager { get; set; }
Property Value
| Type | Description |
|---|---|
| Injected<IContentProviderManager> |
IllegalCharactersDisplayString
Gets the characters that are illegal in a file or directory name. The value are used to inform users which characters that are not allowed in file or directory names. The value should be a readable string, e.g. '%', '+'
Declaration
public string IllegalCharactersDisplayString { get; protected set; }
Property Value
| Type | Description |
|---|---|
| System.String | The illegal characters readable string. |
IllegalCharactersRegex
Gets the characters that are illegal in a file or directory name. The value should be a regular expression, e.g. "%|+"
Declaration
public string IllegalCharactersRegex { get; protected set; }
Property Value
| Type | Description |
|---|---|
| System.String | The illegal characters regular expression pattern. |
IsAccessControlListSupported
Gets or sets a value indicating whether this instance is access control list supported.
Declaration
public bool IsAccessControlListSupported { get; protected set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
|
PageQuickSearch
Gets or sets the page quick searcher
Declaration
protected Injected<IPageQuickSearch> PageQuickSearch { get; set; }
Property Value
| Type | Description |
|---|---|
| Injected<IPageQuickSearch> |
ProviderName
Gets the name of the provider.
Declaration
public string ProviderName { get; }
Property Value
| Type | Description |
|---|---|
| System.String | The name of the provider. |
ReadOnlyPageDirectory
Gets the shared read only page directory that is used for pages that does not support storing resources in page folder.
Declaration
public UnifiedDirectory ReadOnlyPageDirectory { get; }
Property Value
| Type | Description |
|---|---|
| UnifiedDirectory | The read only page directory. |
SecurityDescriptor
Gets or sets the security descriptor.
Declaration
public ISecurityDescriptor SecurityDescriptor { get; protected set; }
Property Value
| Type | Description |
|---|---|
| ISecurityDescriptor | The security descriptor. |
ShowInFileManager
Flag indicating if this provider is to be shown in FileManager UI.
Declaration
public bool ShowInFileManager { get; protected set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
VirtualPathRoot
Gets the virtual path root. Only paths staring with this are handled by this provider.
Declaration
public string VirtualPathRoot { get; protected set; }
Property Value
| Type | Description |
|---|---|
| System.String | The virtual path root, always ending with a /. |
Methods
HasAccessToVirtualPath(String)
Checks if the current user Principal has access to the supplied virtualPath.
Declaration
public static bool HasAccessToVirtualPath(string virtualPath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | virtualPath | virtualPath to query for access. |
Returns
| Type | Description |
|---|---|
| System.Boolean | Has access to path flag. |
IsReadOnlyPageDirectory(UnifiedDirectory)
Determines whether specified directory is a readonly page directory
Declaration
public static bool IsReadOnlyPageDirectory(UnifiedDirectory directory)
Parameters
| Type | Name | Description |
|---|---|---|
| UnifiedDirectory | directory | The directory. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
|
IsVirtualPath(String)
Determines whether virtualPath is a virtual path handled by this provider.
Declaration
public bool IsVirtualPath(string virtualPath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | virtualPath | The virtual path. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
|
MapPathInternal(DirectoryInfo, String)
Maps a virtual path to it's corresponding physical path, given a physical path base.
Declaration
protected string MapPathInternal(DirectoryInfo _physicalPathBase, string virtualPath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.IO.DirectoryInfo | _physicalPathBase | The physical path base. |
| System.String | virtualPath | The virtual path. |
Returns
| Type | Description |
|---|---|
| System.String | A physical path |
QueryAccess(String, IPrincipal)
A chance for the provider to manage user access permissions to its resources
Declaration
public virtual AccessLevel QueryAccess(string virtualPath, IPrincipal user)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | virtualPath | |
| System.Security.Principal.IPrincipal | user |
Returns
| Type | Description |
|---|---|
| AccessLevel |
QueryDistinctAccess(String, IPrincipal, AccessLevel)
Queries the distinct access.
Declaration
public bool QueryDistinctAccess(string virtualPath, IPrincipal user, AccessLevel accessLevel)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | virtualPath | The virtual path. |
| System.Security.Principal.IPrincipal | user | The user. |
| AccessLevel | accessLevel | The access level. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
SafeBooleanParse(String)
Parses the configuration property [key] as a boolean. Uses safe parsing, i.e. a fault value which cannot be parsed as a bool returns false.
Declaration
protected bool SafeBooleanParse(string key)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | key |
Returns
| Type | Description |
|---|---|
| System.Boolean |
SafeIntegerParse(String, Int32)
Parses the configuration property [key] as an integer. Uses safe parsing, i.e. a fault value which cannot be parsed as an int returns defaultValue.
Declaration
protected int SafeIntegerParse(string key, int defaultValue)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | key | |
| System.Int32 | defaultValue |
Returns
| Type | Description |
|---|---|
| System.Int32 |
TryGetHandledAbsolutePath(String, out String)
Tries to get the absolute path.
Declaration
protected bool TryGetHandledAbsolutePath(string virtualPath, out string handledPath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | virtualPath | The virtual path. |
| System.String | handledPath | The resulting absolute path. |
Returns
| Type | Description |
|---|---|
| System.Boolean | True if the virtual path is handled by the current provider. |
TrySplitVirtualPath(String, out List<String>)
Split the virtual path, removing empty components and starting with the first directory under the root of the provider, i.e. make the list provider-root-relative.
Declaration
public bool TrySplitVirtualPath(string virtualPath, out List<string> directories)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | virtualPath | The virtual path. |
| System.Collections.Generic.List<System.String> | directories | The directories. |
Returns
| Type | Description |
|---|---|
| System.Boolean | false if the virtualPath was not for this provider, true if a list of directories is returned |
TryToAbsolute(String, out String)
Tries to canonicalize the path to absolute form, i.e. start with a "/".
Declaration
public bool TryToAbsolute(string virtualPath, out string absolutePath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | virtualPath | The virtual path. |
| System.String | absolutePath | The absolute path, or null |
Returns
| Type | Description |
|---|---|
| System.Boolean | true if an absolute path to this provider was returned, false otherwise |
TryToRelative(String, out String)
Gets the provider-relative virtual path.
Declaration
public bool TryToRelative(string virtualPath, out string relativePath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | virtualPath | The virtual path. |
| System.String | relativePath | A path that is relative to the provider root, never starting with "/", or null |
Returns
| Type | Description |
|---|---|
| System.Boolean | false if the virtualPath was not for this provider, true if a provider-relative path was returned. |
ValidateAndSetupConfigParams()
Validates the required parameters passed to provider. Required are: virtualName. Also initializes the optionan attributes: virtualShare, pageDirectory, showInFileManager, maxVersions, configFileSummary.
Declaration
protected void ValidateAndSetupConfigParams()
VerifyAccessToVirtualPath(String)
Verifies the access for the current user Principal to the supplied virtualPath. Throws an AccessDeniedException if access is denied. Internally calls method HasAccessToVirtualPath.
Declaration
public static void VerifyAccessToVirtualPath(string virtualPath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | virtualPath |