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
Abra a janela do aviso de comando e navegar até um do específico a um linguagem subpastas sob o diretório RoleBasedSecurity.
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
Abra o Windows Explorer e navegar até um dos subdiretórios sob o diretório RoleBasedSecurity específicos do linguagem.
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.
Sobre o Compilação menu, clicar Criar solução.
Para executar este exemplo
navegar até o diretório que contém o novo executável, usando o aviso de comando ou no Windows Explorer.
Tipo de RBSecDemo.exe na linha de comando, ou clicar duas vezes no ícone do RBSecDemo.exe iniciá-lo a partir do Windows Explorer.
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.
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.
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.
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.
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.
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.
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.
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
navegar até o diretório onde você executou a ferramenta MsBuild ou iniciado o arquivo .sln no Visual Studio.
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