UdfMethodAttribute.ReturnsPersonalInformation-Eigenschaft
Gibt an, dass die benutzerdefinierte Funktion (UDF)-Methode Informationen basierend auf dem aktuellen Benutzer die Sitzung ausführen zurückgeben kann.
Namespace: Microsoft.Office.Excel.Server.Udf
Assembly: Microsoft.Office.Excel.Server.Udf (in Microsoft.Office.Excel.Server.Udf.dll)
Syntax
'Declaration
Public Property ReturnsPersonalInformation As Boolean
Get
Set
'Usage
Dim instance As UdfMethodAttribute
Dim value As Boolean
value = instance.ReturnsPersonalInformation
instance.ReturnsPersonalInformation = value
public bool ReturnsPersonalInformation { get; set; }
Eigenschaftswert
Typ: System.Boolean
Wenn true, Dienste für Excel-Berechnungen , dass die aktuellen Prinzipal des Threads den richtigen Wert hat, vor dem Aufrufen der UDF-Datei sichergestellt wird. Wenn false, Dienste für Excel-Berechnungen die Identität des Benutzers ausblendet. Der Standardwert ist false.
Hinweise
Eine UDF-Datei, die diese Eigenschaft, auf true festlegt können die Name -Eigenschaft der System.Threading.Thread.CurrentPrincipal.Identity -Schnittstelle, um dem Namen des Benutzers in dessen Auftrag der Code ausgeführt wird.
Für ReturnsPersonalInformation=falseblendet Dienste für Excel-Berechnungen die Identität des Benutzers durch den aktuellen Prinzipal des Threads auf einen leeren Prinzipal festlegen.
Für ReturnsPersonalInformation=truewird Dienste für Excel-Berechnungen , dass die aktuellen Prinzipal des Threads den richtigen Wert hat, vor dem Aufrufen der UDF-Datei sichergestellt.
Für die Neuberechnung ist eine UDF-Datei, die als persönliche Informationen ( ReturnsPersonalInformation=true) markiert ist immer wieder aufgerufen, wenn vorherige Ergebnisse nicht für den gleichen Benutzer vorhanden sind.
Benötigen Sie Zugriff auf die Identität des Benutzers, der die Anforderung in einer Sitzung ausgeführt (und somit der UDF-Datei ausführen) oder die Thread-ID in der Lage sein, die ReturnsPersonalInformation -Eigenschaft auf truefestgelegt.
Es ist wichtig, diese Eigenschaft auf true auch in Fällen festgelegt, in denen Sie nicht explizit auf Threadidentität verweisen. Wenn Sie persönliche Informationen aus einer Datenbank mithilfe der integrierten Sicherheit oder eine andere Möglichkeit zum Abrufen von benutzerspezifischen Informationen abrufen, Sie möchten, dass die richtigen Zwischenspeichern erfolgen und aus diesem Grund sollten Sie diese Eigenschaft auf truefestlegen.
Beispiele
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Excel.Server.Udf;
using System.Web;
using System.Security.Principal;
namespace DatabaseAccessUdfsReturnPersonalInformation
{
[UdfClass]
public class DatabaseAccessUdfs
{
[UdfMethod(ReturnsPersonalInformation=true)]
public string GetUserName()
{
return
(System.Threading.Thread.CurrentPrincipal.Identity.Name);
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.Office.Excel.Server.Udf
Imports System.Web
Imports System.Security.Principal
Namespace DatabaseAccessUdfsReturnPersonalInformation
<UdfClass>
Public Class DatabaseAccessUdfs
<UdfMethod(ReturnsPersonalInformation:=True)>
Public Function GetUserName() As String
Return (System.Threading.Thread.CurrentPrincipal.Identity.Name)
End Function
End Class
End Namespace