IExternalSecurityWeb Interface

The IExternalSecurityWeb interface provides methods that return custom information about the security used in Microsoft Windows SharePoint Services for use in indexing by a search crawler on a portal.

Public Methods

The following table shows the public methods of the IExternalSecurityWeb interface and a brief description of each.

Name Description
GetAnonymousState Returns a Boolean value that indicates whether anonymous access is enabled for a site.
GetLastModified Returns the security modification date for a site or list for the purpose of recrawling the site or list with the search crawler.
GetPermission Returns the access control list (ACL) for a site or list in XML format.
GetProperties Returns security properties used in indexing by a search crawler.
Init Initializes the external security provider.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread safe.

Remarks

This interface provides access control list (ACL) information to a search crawler so that it can determine which security to use when it searches a SharePoint site.

To use this interface, you must create an external security provider that uses a COM interface similar to the one described in the following interface definition language (IDL) excerpt.

import "File_Name.idl";

struct STS_WEBGROUP_MEMBERSHIP_RECORD
{
    LONG m_lGroupId;
    LONG m_lMemberId;
    BYTE* m_rgbMemberSID;
    BOOL m_bMemberIsDomainGroup;
};

[
    object,
    uuid(BDEADEA4-C265-11d0-BCED-00A0C90AB50F),
    pointer_default(unique),
    local
]

interface ISPSecurityExtensibility : IUnknown
{
    HRESULT AccessCheck
    (
        [in] const GUID* pGuidSiteId,
        [in] const GUID* pGuidWebId,
        [in] BOOL bAnonymousRequest,
        [in] BOOL bSiteAdmin,
        [in] BOOL bGlobalAdmin,
        [out] DWORD* pdwEffectiveRights
    );

    HRESULT RefreshWebGroupMembership
    (
        [in] LONGLONG llDataVersion,
        [in] const GUID* pGuidSiteId,
        [in] const GUID* pGuidWebId,
        [in] const struct STS_WEBGROUP_MEMBERSHIP_RECORD* rgwmrUpdates,
        [in] LONG cNumRecords
    );
}

To implement your own security manager in Windows SharePoint Services, you must provide the GUID for the COM DLL and define a managed class string in the site definition.

Requirements

Namespace: Microsoft.SharePoint

Platforms: Microsoft Windows Server 2003

Assembly: Windows SharePoint Services (in Microsoft.SharePoint.dll)

Security: Code Access Security