Platform SDK: Exchange Server |
The following list gives the names of the ASP application sample files and a brief description of file's role in the application.
Sample Files
File Name | Description |
---|---|
ACL.inc | Contains VBScript functions used to modify ACLs. |
ACLMaintenance.inc | Contains code used to set up the acl view page. |
App.inc | Contains routines used to set up the ASP application. |
CDO.inc | Contains code used to logon the current user, and provide the navigation and selection of stores and folders. It also has functions for looking members up in the Global Address Book (GAL). |
Contants.inc | Contains constant definitions for use by the application. |
ExchLogon.asp | Contains the code that actually performs the user's logon to MAPI. |
Global.asa | Contains the Application and Session startup code for the ASP application. |
handlecmds.asp | Contains code for processing the requests the user makes with the browser. |
Logon.asp | Sets up the initial (JScript) code on the client's browser and initializes the logon process. |
Properties.asp | Contains code used to set up the user interface for looking at a folder's ACL. |
SelAddresses.asp | Contains the code used when the client must select the member for whom to create the ACE on the selected folder. |
SelFolder.asp | Contains the code used when the client is selecting a folder for which to modify the ACL. |
COM Components
Component | Description |
---|---|
Cdo.dll
CdoHtml.dll |
The code used to perform the MAPI logon and navigate the information stores and folders is done using the CDO 1.21 COM classes provided by the CDO.dll COM component on the server machine. Note that because the ASP thread processing the VBScript in the logon step must impersonate the user for the duration of the ASP session, the CDO HTML Rendering component, Cdohtml.dll is also used. |
Acl.dll | The Acl.dll COM component is provided for manipulating the ACLs on folders. Full source code can be found in the samples library that come with the Platform SDK in the c:\mssdk\samples\dbmsg\exchange\libsrc\acl directory of your installation. The COM classes provided by this component are the ACLObject, ACE, and ACEs classes with respective programmatic identifiers MSExchange.ACLObject, MSExchange.ACE. The ACEs class does not have an identifier, as it cannot be created directly. |
This sample demonstrates using the ACL COM component and the Collaboration Data Objects 1.21 component to enable the user to modify access control entries on Exchange Server folders. MAPI interfaces are required (at some level) to manipulate the ACL, but they cannot practically (or in some cases physically) be used by applications written in languages other than C++. Furthermore, the Collaboration Data Objects 1.21 component (which is accessible to languages other than C++) does not itself provide objects to access ACLs. The ACL component provides this additional functionality by providing a set of dual-interfaces COM objects that internally access the Exchange Store using MAPI directly. It is designed to work in concert with the CDO 1.21 component, where CDO objects are used to log the user into a MAPI session, navigate the hierarchy of folders, and once a user has selected a folder, allow that user to manipulate the access control list.
The sample is made up of Active Server Pages (ASP) pages with script written in VBScript. It is similar to the other ASP samples provided, such as RuleASP and DLUpdate , and provides a starting point for creating an enhanced web access application to Exchange Server 5.5 using IIS. Additionally, the ACL component demonstrates how to go about building dual-interfaced COM components that provide extended functionality to applications written in languages other than C++ (and cannot therefore access MAPI interfaces, which are not oleautomation-compatible) when the functionality provided by CDO is not sufficient.