Class VirtualPathUnifiedProvider
Base class for all unified providers
Inheritance
Namespace: EPiServer.Web.Hosting
Assembly: EPiServer.dll
Version: 8.11.0Syntax
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 |