Compartilhar via


Segurança de aplicativos de várias camadas

Você pode enfrentar escolhas difíceis ao decidir precisamente onde impor a segurança em um aplicativo baseado em componentes de várias camadas: no banco de dados? Na camada intermediária? Nos componentes? Em outro lugar? Em toda parte? À medida que os mecanismos de segurança aumentam em número e complexidade, o desempenho diminui e o comportamento do aplicativo se torna menos previsível. No entanto, você deve garantir que os dados sejam protegidos, que as regras de negócios sejam seguidas e que atividades significativas sejam registradas, e ainda que seu aplicativo funcione para os clientes conforme o esperado. Você deve ter certeza de que cada caminho do cliente através de seu aplicativo está correto e que os pontos de verificação de segurança que você tem em vigor serão suficientes.

A decisão mais difícil geralmente é impor a segurança no banco de dados. Historicamente, é aqui que a segurança é mais rígida porque é percebida como o único reino que precisa ser verdadeiramente seguro, e os administradores de banco de dados são muito relutantes em confiar em outra pessoa para impor segurança para eles. Mas impor segurança no banco de dados pode ser bastante caro e difícil de escalar, que é precisamente o ponto de escrever aplicativos de várias camadas em primeiro lugar.

A regra geral a ser seguida com aplicativos multicamadas escalonáveis usando COM+ é que, sempre que possível, você deve impor segurança detalhada no aplicativo COM+ na camada intermediária. Isso permite que você aproveite totalmente os serviços escalonáveis fornecidos pelo COM+. Autentique-se no banco de dados somente quando for absolutamente necessário e pese totalmente as implicações de desempenho de fazê-lo.

Para obter uma discussão sobre os problemas a serem considerados ao decidir onde executar verificações de segurança, consulte Decidindo onde impor a segurança.

Para obter uma discussão de alguns cenários básicos na proteção de aplicativos de várias camadas, consulte Cenários básicos para proteger dados em aplicativos de várias camadas.

Autenticação de cliente

Representação e delegação de clientes

Segurança de aplicativos de biblioteca

Segurança de componentes programáticos

Administração de segurança baseada em função

Usando a diretiva de restrição de software no COM+