You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Revise managed navigation documentation for SharePoint (#10792)
* Revise managed navigation documentation for SharePoint
Updated the metadata and content of the managed navigation documentation, including the date and a note about the feature's support in Classic vs. Modern SharePoint.
* Revise UDF external data source documentation
Updated metadata and added important note about Excel Services support.
* Revise user profiles documentation in SharePoint
Updated the documentation for working with user profiles in SharePoint, including changes to the title, description, and date.
* Doc updated for links
* Revise item-level security documentation for SharePoint
Updated the date and added important notes regarding BCS and NTLM configurations.
* Revise CloseWorkbook method usage for async calls
Updated the article to reflect the deprecation of SharePoint Excel Services and recommended alternatives. Adjusted the last modified date and ensured the content is current.
* Revise article with links and content
Updated the article to reflect the deprecation of JSLink and client-side rendering in modern SharePoint experiences, and provided guidance on using SharePoint Framework (SPFx) Field Customizer extensions instead.
* docs: clean up formatting on four general-development articles
- revert `ms.date` to original publication date; rendering engine
shows last modified date dynamically from git history
- collapse consecutive blank lines into single blank lines
- remove legacy `<a name="...">` anchor tags
- normalize ordered list markers to `1.` so the rendering engine
auto-numbers
- remove blank lines between adjacent bullet items
- reformat csharp code blocks to consistent two-space indentation
---------
Co-authored-by: Andrew Connell <me@andrewconnell.com>
Copy file name to clipboardExpand all lines: docs/general-development/how-to-access-an-external-data-source-from-a-udf.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: Access an external data source from a UDF
3
3
description: This example shows how to access an external database from a user-defined function (UDF).
4
-
ms.date: 09/25/2017
4
+
ms.date: 04/22/2026
5
5
keywords: how to,howdoi,howto,UDF
6
6
f1_keywords:
7
7
- how to,howdoi,howto,UDF
@@ -12,6 +12,9 @@ ms.localizationpriority: medium
12
12
13
13
# Access an external data source from a UDF
14
14
15
+
> [!IMPORTANT]
16
+
> Excel Services is a SharePoint Server (on-premises) feature. Excel Services is not supported in SharePoint Online. Use [Excel Online in Microsoft 365](https://www.microsoft.com/microsoft-365) instead.
17
+
15
18
This example shows how to access an external database from a user-defined function (UDF).
title: Configure item-level security in SharePoint
3
3
description: Learn how to configure item level security when crawling external data with BCS indexing connectors in SharePoint.
4
-
ms.date: 09/25/2017
4
+
ms.date: 04/24/2017
5
5
ms.assetid: ffd730f2-e7b7-4707-b677-d073da7df7d7
6
6
ms.localizationpriority: medium
7
7
---
8
8
9
-
10
9
# Configure item-level security in SharePoint
11
10
12
11
Learn how to configure item level security when crawling external data with BCS indexing connectors in SharePoint.
13
12
13
+
> [!IMPORTANT]
14
+
> Business Connectivity Services (BCS) and NTLM-based configurations are primarily supported in SharePoint Server. These approaches are not commonly used in SharePoint Online, where modern authentication and Microsoft Graph-based connectors are preferred.
15
+
14
16
## External systems with NTLM authentication
15
-
<aname="ItemLevelSecurity_NTLMAuth"> </a>
16
17
17
18
For external systems that support NTLM authentication, the security descriptor can be obtained for each instance of the external content type at crawl time and stored in the content index. During query time, the security descriptor of the user who is submitting the search query is compared to the stored security descriptor to determine whether the user has access to the item. This is the fastest way to perform security trimming on the result set. The metadata model for the external system must indicate where the security descriptor can be found as an external content type field or method.
18
-
19
-
20
-
21
19
22
20
### External content type field
23
-
<aname="ItemLevelSecurity_ExtTypeField"> </a>
24
21
25
-
Microsoft SharePoint stores the security descriptor if the field of the external content type that contains the descriptor is marked by using the **WindowsSecurityDescriptorField** property, as shown in the following example.
26
-
27
-
28
-
22
+
Microsoft SharePoint stores the security descriptor if the field of the external content type that contains the descriptor is marked by using the `WindowsSecurityDescriptorField` property, as shown in the following example.
<PropertyName="RdbCommandText"Type="System.String">SELECT [Identifier], [SecurityDescriptor] FROM [Test].[dbo].[Items] WHERE [Identifier] = @Identifier</Property>
> ems are limited to a specific size, which access control lists (ACL) can easily exceed. Therefore, the Search connector framework ignores requests to cache items if they contain a security descriptor field.
82
-
83
-
84
-
85
-
70
+
> Items are limited to a specific size, which access control lists (ACL) can easily exceed. Therefore, the Search connector framework ignores requests to cache items if they contain a security descriptor field.
86
71
87
72
### External content type method
88
-
<aname="ItemLevelSecurity_ExtTypeMethod"> </a>
89
73
90
-
If you have a method defined in the metadata model that returns the security descriptor for an item based on its identifier, you can use the **BinarySecurityDescriptorAccessor** method stereotype, as shown in the following example.
91
-
92
-
93
-
74
+
If you have a method defined in the metadata model that returns the security descriptor for an item based on its identifier, you can use the `BinarySecurityDescriptorAccessor` method stereotype, as shown in the following example.
The following code is the method signature for the method that is specified in the previous example.
136
-
137
-
138
-
139
-
140
-
141
108
142
109
```csharp
143
-
144
-
PublicstaticByte[]GetItemSecurity (stringid)
145
-
{
146
-
147
-
}
110
+
PublicstaticByte[]GetItemSecurity (stringid) { }
148
111
```
149
112
150
-
151
113
## External systems with authentication schemes that can be mapped to NTLM authentication
152
-
<aname="ItemLevelSecurity_MappedToNTLM"> </a>
153
114
154
-
If the external system does not support NTLM authentication, but the external system users can be mapped to Windows users by using a mapping table, you can use the approach described in the previous two code examples to provide item level security. For this to work, the web service or Windows Communication Foundation (WCF) service exposed by the external system must include a method that converts the external system users to Windows users internally, and then returns a Windows security descriptor for each URL. The following example shows how you could code this method.
155
-
156
-
157
-
115
+
If the external system does not support NTLM authentication, but the external system users can be mapped to Windows users by using a mapping table, you can use the approach described in the previous two code examples to provide item level security. For this to work, the web service or Windows Communication Foundation (WCF) service exposed by the external system must include a method that converts the external system users to Windows users internally, and then returns a Windows security descriptor for each URL. The following example shows how you could code this method.
158
116
159
117
```csharp
160
-
161
118
/// Returns the security descriptor for a user.
162
119
/// </summary>
163
120
/// <paramname="domain"></param>
@@ -166,40 +123,27 @@ If the external system does not support NTLM authentication, but the external sy
0 commit comments