FPCUserAgentMappings Collection
The FPCUserAgentMappings collection contains an ordered set of all the FPCUserAgentMapping objects defined in an ISA Server array. Each FPCUserAgentMapping object represents a mapping of User-Agent headers to a type of authentication. (This collection is introduced in ISA Server 2006.)
The User-Agent headers to which a User-Agent mapping applies are specified by the UserAgent property, which holds a string that may contain wildcard characters (*). A User-Agent mapping whose UserAgent property is set to a wildcard character (*) applies to all User-Agent headers. A User-Agent mapping whose UserAgent property is set to a string that begins and ends with a wildcard character applies to any User-Agent header that contains the substring between the wildcard characters.
The types of authentication that are supported in User-Agent mappings include forms-based authentication using forms written in a specific format and Basic authentication. ISA Server supports forms for forms-based authentication that are written in the following formats:
- HTML 4.01.
- cHTML.
- XHTML-MP.
The following User-Agent mappings are supplied with ISA Server:
| No. | User-Agent headers | Authentication type |
|---|---|---|
| 1 | *Blazer* | XHTML-MP forms |
| 2 | *DoCoMo* | cHTML forms |
| 3 | *Windows CE* | XHTML-MP forms |
| 4 | *Symbain OS* | XHTML-MP forms |
| 5 | *SonyEricsson* | XHTML-MP forms |
| 6 | *Frontpage* | Basic authentication |
| 7 | *Mozilla* | HTML 4.01 forms |
| 8 | *Opera* | HTML 4.01 forms |
| 9 | *MSRPC* | Basic authentication |
| 10 | * | Basic authentication |
When ISA Server needs to authenticate a Web proxy client in a Web publishing scenario and the Web listener is configured to use the FBA with AD, FBA with LDAP, or FBA with RADIUS authentication scheme, ISA Server reads the User-Agent header in the Hypertext Transfer Protocol (HTTP) GET request and uses it to find the first User-Agent mapping defined by a FPCUserAgentMapping object in the collection that matches the User-Agent header. Note that the last User-Agent mapping is a default mapping that specifies Basic authentication as a fallback authentication method.
ISA Server uses the authentication type in the applicable mapping to determine the response. If the authentication type is Basic authentication, the response consists of a WWW-Authenticate: Basic header, and the HTTP status code is set to 401. Otherwise, a 302 response that redirects the client to the applicable form is sent. In particular, when a GET request is sent from a mobile device that includes the string Windows CE in the User-Agent header, ISA Server sends back a 302 response that redirects the client to the XHTML-MP form. When a GET request is sent from Internet Explorer, ISA Server finds the string Mozilla in the User-Agent header and sends back a 302 response that redirects the client to the HTML 4.01 form.
Note The properties and methods of the FPCUserAgentMappings collection cannot be accessed through ISA Server Management.
The FPCUserAgentMappings collection is accessed through the UserAgentMappings property of the FPCRuleElements object.
Click here to see the ISA Server object hierarchy.
Inheritance
This collection inherits from the FPCPersist object, which contains methods and properties related to the persistent storage of an object's data. They include methods for exporting an object's data to and importing it from XML documents.Methods
The FPCUserAgentMappings collection defines the following methods.
| Method | Description |
|---|---|
| Add | Creates a new FPCUserAgentMapping object in the collection and returns a reference to it. |
| Item | Retrieves the requested FPCUserAgentMapping object from the collection. |
| MoveDown | Moves the specified User-Agent mapping one step down the list of User-Agent mappings, which corresponds to the order in which the User-Agent mappings are tested to find a mapping that matches the User-Agent header in a request. |
| MoveUp | Moves the specified User-Agent mapping one step up the list of User-Agent mappings, which corresponds to the order in which the User-Agent mappings are tested to find a mapping that matches the User-Agent header in a request. |
| Remove | Removes the specified FPCUserAgentMapping object from the collection. |
Properties
The FPCUserAgentMappings collection has the following properties.
| Property | Description |
|---|---|
| _NewEnum | Gets an enumerator object for the collection. |
| Count | Gets the number of FPCUserAgentMapping objects in the collection. |
Methods Inherited from FPCPersist
| Name | Description |
|---|---|
| CancelWaitForChanges | Cancels the registration established by the WaitForChanges method (for use in C and C++ programming only). |
| CanImport | Returns a Boolean value that indicates whether the properties of the collection and its elements can be imported from the specified XML document. |
| Export | Writes the stored values of all the properties of the collection and its elements to the specified XML document. |
| ExportToFile | Writes the stored values of all the properties of the collection and its elements to the specified XML file. |
| GetServiceRestartMask | Retrieves a 32-bit bitmask of the FpcServices enumerated type that specifies which services need to be restarted for currently unsaved changes to take effect. |
| Import | Copies the values of all the properties of the collection and its elements from the specified XML document to persistent storage. |
| ImportFromFile | Copies the values of all the properties of the collection and its elements from the specified XML file to persistent storage. |
| LoadDocProperties | Provides the XML document's properties so that you can know what information can be imported from the document. |
| Refresh | Reads the values of all the properties of the collection and its elements from persistent storage, overwriting any changes that have not been saved. |
| Save | Writes the current values of all the properties of the collection and its elements to persistent storage. |
| WaitForChanges | Registers to wait for an event indicating that the contents of the collection have changed (for use in C and C++ programming only). |
Properties Inherited from FPCPersist
| Name | Description |
|---|---|
| PersistentName | Gets the persistent name of the collection. The persistent name of an object is a name that is unique for the object at the respective level of the COM object hierarchy. |
| VendorParametersSets | Gets an FPCVendorParametersSets object that can hold sets of custom data for extending the collection. |
Interfaces for C++ Programming
This collection implements the IFPCUserAgentMappings interface.
Requirements
| Client | Requires Windows XP. |
|---|---|
| Server | Requires Windows Server 2003. |
| Version | Requires Internet Security and Acceleration Server 2006. |
| IDL | Declared in Msfpccom.idl. |