: IAccessControlList.Add (Método) (Microsoft.Office.Server.ApplicationRegistry.Infrastructure)
Appends an access control entry to the access control list (ACL). This method cannot be overridden.
Espacio de nombres:
Ensamblado: Microsoft.SharePoint.Portal (in microsoft.sharepoint.portal.dll)
Sintaxis
'Declaración
Sub Add ( _
ace As IAccessControlEntry _
)
'Uso
Dim instance As IAccessControlList
Dim ace As IAccessControlEntry
instance.Add(ace)
void Add (
IAccessControlEntry ace
)
Parámetros
- ace
An AccessControlEntry to append to the end of the ACL.
Ejemplo
This example adds an access control entry for the current user and to a specified user.
Prerequisites
Ensure a Shared Service Provider is already created.
Create an LOBSystem instance and set connection parameters as shown in Procedimiento para crear LobSystem mediante el modelo de objetos de administración.
Create the ProductModel entity as shown in Procedimiento para crear una entidad mediante el modelo de administración de objetos
Create a Finder method as shown in Procedimiento para crear un método y filtros mediante el modelo de objetos de administración
Replace the constant value EnterYourSSPNameHere in the code with the name of your Shared Resource Provider.
Replace the constant value userName in the format domainname\\username.
Project References
Add the following Project References in your console application code project before running this sample:
Microsoft.SharePoint
Microsoft.SharePoint.Portal
Microsoft.Office.Server
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Server.ApplicationRegistry.Administration;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using WSSAdmin = Microsoft.SharePoint.Administration;
using OSSAdmin = Microsoft.Office.Server.Administration;
namespace Microsoft.SDK.SharePointServer.Samples
{
class GetStartedAndCreateSystem
{
const string yourSSPName ="EnterYourSSPNameHere";
const string userName ="domainname\\username";
static void Main(string[] args)
{
SetupBDC();
SetAccessControlListForCurrentUser();
SetAccessControlListForSpecifiedUser();
Console.WriteLine("Press any key to exit...");
Console.Read();
}
static void SetupBDC()
{
SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
}
public static void SetAccessControlListForCurrentUser()
{
LobSystemInstance mySysInstance = null;
LobSystemInstanceCollection sysInsCollection = ApplicationRegistry.Instance.GetLobSystemInstancesLikeName("AdventureWorksSampleFromCode");
foreach (LobSystemInstance sysInstance in sysInsCollection)
{
if (sysInstance.Name == "AdventureWorksSampleFromCode")
{
mySysInstance = sysInstance;
break;
}
}
LobSystem ls = mySysInstance.LobSystem;
IAccessControlList acl = ls.GetAccessControlList();
String currentIdentity = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
acl.Add(new IndividualAccessControlEntry(currentIdentity, BdcRights.SetPermissions | BdcRights.Execute));
try
{
ls.SetAccessControlList(acl);
}
catch (AccessDeniedException)
{
}
}
public static void SetAccessControlListForSpecifiedUser()
{
LobSystemInstance mySysInstance = null;
LobSystemInstanceCollection sysInsCollection = ApplicationRegistry.Instance.GetLobSystemInstancesLikeName("AdventureWorksSampleFromCode");
foreach (LobSystemInstance sysInstance in sysInsCollection)
{
if (sysInstance.Name == "AdventureWorksSampleFromCode")
{
mySysInstance = sysInstance;
break;
}
}
LobSystem ls = mySysInstance.LobSystem;
IAccessControlList acl = ls.GetAccessControlList();
//replace the domain and user names here
String currentIdentity = userName;
acl.Add(new IndividualAccessControlEntry(currentIdentity, BdcRights.SetPermissions | BdcRights.UseInBusinessDataInLists | BdcRights.SelectableInClients));
try
{
ls.SetAccessControlList(acl);
}
catch (AccessDeniedException)
{
//your exception handling code here
}
Console.WriteLine("Done");
}
}
}
Vea también
Referencia
IAccessControlList (Interfaz)
IAccessControlList (Miembros)
Microsoft.Office.Server.ApplicationRegistry.Infrastructure (Espacio de nombres)