Como a: obtenha o Lista de Controle de Acesso para um objeto de metadados
Each object in the Business Data Catalog hierarchy of metadata objects (Application, Entity, Method, MethodInstance, Parameter, TypeDescriptor, and so on) has an access control list (ACL) that specifies which principals have which rights on the object. Of the 13 metadata objects, only LobSystem, Entity, Method, and MethodInstance have ACLs that can be controlled individually. Esses objetos são chamados objetos metadados individualmente Securable. Outros objetos metadados herdam as ACLs de seu pai imediato e são chamados objetos metadados Access-controlled.
Clientes de dados de negócios, como Business dados em listas e Business Data Web Parts são orientados por permissões Business Data Catalog. O permissão mínimo exigido em uma entidade para torná-lo utilizável em clientes é o Selectable em clientes direito.
Dica
Como Business Data Catalog é um serviço compartilhado que é compartilhada entre coleções site, site coleção nível as configurações de segurança não podem ser aplicadas a ele.Portanto, configurações do site tem pouco relacionamento com permissões Business Data Catalog.
A seguinte tabela mostra os direitos de administrador ? ou como alguém com permissões Gerenciar direito ? pode definir em um aplicativo Business Data Catalog.
À direita | Aplica-se para | Descrição |
---|---|---|
Editar |
Objetos metadados Access-controlled |
|
Gerenciar permissões |
Objetos protegidos individualmente metadados |
|
Executar (Exibir) |
MethodInstance |
|
Selecionável em clientes |
Aplicativo e da entidade |
|
Exemplo
O seguinte exemplo de código mostra como recuperar o ACL para uma instância LobSystem LobSystem que é registrada na Business Data Catalog.
Pré-requisitos
Certifique-se que um provedor de serviços compartilhados já é criado.
Criar uma instância LobSystem LobSystem e definir parâmetros conexão como mostrado na Como a: Criar um LobSystem com o modelo de objeto de administração.
Criar a entidade ProductModel como mostrado no Como a: criar uma entidade com o modelo de objeto de administração.
Criar um Finder localizador conforme mostrado no Como a: Criar um método e filtros usando o modelo de objeto de administração.
Substituir a constante valor EnterYourSSPNameHere na codificar com o nome do seu Shared Resource Provider.
Referências do projeto
Adicione o seguinte referências do projeto no seu projeto código do aplicativo console antes execução neste exemplo:
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";
static void Main(string[] args)
{
SetupBDC();
GetAccessControlList();
Console.WriteLine("Press any key to exit...");
Console.Read();
}
static void SetupBDC()
{
SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
}
public static void GetAccessControlList()
{
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();
foreach (IAccessControlEntry ace in acl)
{
Console.WriteLine(ace.IdentityName);
Console.WriteLine(ace.Rights);
}
}
}
}