Поделиться через


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.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Interface IExternalSecurityWeb

Dim instance As IExternalSecurityWeb
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public interface IExternalSecurityWeb

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.

See Also

Reference

IExternalSecurityWeb Members

Microsoft.SharePoint Namespace