Partilhar via


Exemplo de tecnologia de segurança baseada em função

Este exemplo demonstra o uso da segurança baseada em função.O aplicativo servidor informa qual conta de usuário do aplicativo cliente está usando e se esta conta pertence à função do administrador.

Para obter informações sobre como usar os exemplos, consulte os tópicos a seguir:

Para compilação a amostra usando o aviso de comando

  1. Abra a janela do aviso de comando e navegar até um do específico a um linguagem subpastas sob o diretório RoleBasedSecurity.

  2. Tipo de MSBuild RoleBasedSecurityCS.sln or MSBuild RoleBasedSecurityVB.sln, dependendo de sua escolha de programação de linguagem de um a específico a um linguagem subdiretórios.

Para compilação a amostra usando o Visual Studio

  1. Abra o Windows Explorer e navegar até um dos subdiretórios sob o diretório RoleBasedSecurity específicos do linguagem.

  2. clicar duas vezes em RoleBasedSecurityCS.sln ou RoleBasedSecurityVB.sln, dependendo de sua escolha de linguagem, de programação para em em aberto o arquivo no Visual Studio.

  3. Sobre o Compilação menu, clicar Criar solução.

Para executar este exemplo

  1. navegar até o diretório que contém o novo executável, usando o aviso de comando ou no Windows Explorer.

  2. Tipo de RBSecDemo.exe na linha de comando, ou clicar duas vezes no ícone do RBSecDemo.exe iniciá-lo a partir do Windows Explorer.

  3. clicar no botão rotulado como Exibição conectados usuário.O nome da conta do usuário conectado no momento deve aparecer na janela do aplicativo.Em seguida, clicar no botão É chamador na função de demonstração? A mensagem "Você está no RBSecurityDemoRole" deve ser exibida.

  4. Inicie a ferramenta administrativa Serviços de componente (também chamada de "COM + explorer") clicandoinicialização\Ferramentas administrativas\Serviços de componentes.localizar o aplicativo COM + RBSecDemoSvr expandindo aplicativos Computer\COM + Services\Computers\My componente no painel à esquerda COM + explorer.Em seguida, clicar com o botão direito do mouse no aplicativo RBSecDemoSvr e selecionar "Propriedades".Isso irá chamar a caixa de diálogo Propriedades do aplicativo.clicar na guia "Segurança".As informações aqui correspondem às configurações especificadas pelo ApplicationAccessControlAttribute. Desmarque a caixa de seleção "Aplicar verificações de acesso para este aplicativo".

    Observação importante:

      Essa ação desativa a segurança do COM + para todos os componentes contidos no aplicativo.

    clicar OK para descartar a caixa de diálogo de propriedades.

  5. Retornar para o aplicativo cliente RBSecDemo.clicar Exibir usuários conectado.O mensagem "desconhecido chamador (segurança não está habilitado)" deve aparecer.clicar É o chamador na função de demonstração?.O cliente continua relatando que o usuário está em RBSecurityDemoRole, porque quando segurança está desabilitado, todos os chama IsCallerInRole retornar true.

  6. Retornar ao Gerenciador de COM + e chama a página de propriedades RBSecDemoSvr mais uma vez clicando com o botão direito do mouse no aplicativo e selecionando Propriedades.clicar na guia rotulada Segurança e a nova verificaçãoAplicar verificações de acesso para este aplicativocaixa de seleção .A segurança está habilitada novamente para o aplicativo.clicar OK para descartar a caixa de diálogo de propriedades.

  7. localizar o componente Microsoft.Exemplos.Technologies.ComponentServices.RoleBasedSecurity.RBSecurityObject expandindo "RBSecDemoSvr\Components".clicar com o botão direito do mouse o "Microsoft.Exemplos.Technologies.ComponentServices.RoleBasedSecurity.RBSecurityObject" componente e selecionarPropriedades no menu pop-up.

  8. Clique na guia Security.A configuração de autorização aqui corresponde à ComponentAccessControlAttribute especificada no código de exemplo. Você deve ver uma função denominada "RBSecurityDemoRole" listado sistema autônomo uma função explicitamente associada ao componente.Essa função foi criada e vinculada ao componente de exemplo usando o SecurityRoleAttribute no código de exemplo. clicar OK para descartar a caixa de diálogo de propriedades.

  9. No COM + explorer, expandir o Funções pasta localizada abaixo do aplicativo RBSecDemoSvr.Você deve ver o RBSecurityDemoRole aqui.expandir RBSecurityDemoRole\Users.Você deve ver uma única conta ("LIVRE") na pasta usuários.clicar com o botão direito do mouse em "LIVRE" e selecionarExcluir no menu pop-up.Confirme excluir na caixa de diálogo subseqüente.COM + armazena em cache as configurações de segurança relacionadas a funções, para que você deve encerrar o aplicativo RBSecDemoSvr antes que você pode observar os resultados de fazer essa alterar.No COM + explorer, clicar com o botão direito do mouse no aplicativo e selecionar Desligar no menu pop-up.

  10. Retornar para o aplicativo cliente RBSecDemo.Em qualquer botão, você deverá ver um MessageBoxemissão de relatórios que "acesso negado". Um acesso negado a exceção de segurança foi apresentada na criação do objeto porque o componente RBSecurityDemoRole não contém o chamador corrente.

Para desinstalar a amostra

  1. navegar até o diretório onde você executou a ferramenta MsBuild ou iniciado o arquivo .sln no Visual Studio.

  2. Run MSBuild RoleBasedSecurityVB.sln /t: limpeza or MSBuild RoleBasedSecurityVB.sln /t: limpeza, dependendo de sua escolha de linguagem de programação.Essa ação chama o Ferramenta de instalação de serviços do .NET (Regsvcs.exe) e o Global ferramenta cache assembly (Gacutil.exe)  com comutador /u para remover os arquivos de amostra do catálogo COM + e cache de assembly global.

Requisitos

Plataforma: Windows 2000, Windows XP, Windows servidor 2003

.NET estrutura versão: 2.0

Comentários

Para obter mais informações sobre criação binário de amostra e as etapas de inscrição, consulte os comentários no código-fonte.

As informações recuperadas pelo aplicativo de exemplo incluem:

  • Se a segurança COM + está habilitada.

  • Se o chamador corrente é um membro de uma função de segurança criado pelo exemplo.

  • O nome da conta do chamador corrente.

Na ferramenta administrativa Serviços de componente, o componente aparece sistema autônomo Microsoft.Exemplos.Technologies.ComponentServices.RoleBasedSecurity.RBSecurityObject.

Observação:

Você deve executar o Global ferramenta cache assembly (Gacutil.exe)  Para instalar o conjunto de RBSecDemoSvr.dll para o global cache de assemblies antes de executar a amostra. Gacutil.exe está localizado na SDK\ <versão > No diretório \Bin.Por exemplo, para a versão do Visual Basic, navegar até a pasta C:\Documents and Settings\ O nome de usuário\Meus Documentos\Exemplos\Technologies\ComponentServices\RoleBasedSecurity\VB\bin diretório e tipo de gacutil -i RBSecDemoSvr.dll.

O exemplo também demonstra como ativar a segurança no nível de componente do aplicativo ou e criar funções de segurança por meio de atributos.

Observação:

Interoperabilidade do COM + segurança no .NET é fornecida para desenvolvedores de aplicativos que talvez queira gravar uma extensão gerenciada em um aplicativo existente que usa serviços de segurança do COM + 1.0.O .NET estrutura fornece sua própria segurança baseada em função.Os dois mecanismos são independentes e apenas um deles deve ser usado dentro de um único aplicativo.

Consulte também

Referência

ApplicationAccessControlAttribute

ComponentAccessControlAttribute

ContextUtil

SecurityCallContext

SecurityRoleAttribute

ServicedComponent

System.ComponentModel

System.EnterpriseServices

Outros recursos

Segurança baseada em função