Thursday, April 25, 2024    
English 
Spanish 
Skip Navigation Links
Página Principal
Minha Conta
Forum
Avalie!
Compre!
Skip Navigation Links
Sobre
Contato
Mapa do Site
Skip Navigation Links

O módulo de segurança baseada em áreas do StrataFrame é muito compreensivo e provê ao usuário final a proteção esperada por um software desenvolvido para segurança.  Sua meta é prevenir uma entrada em áreas desautorizadas de uma aplicação de quaisquer pontos da interface do usuário.  A implementação para o desenvolvedor é simples e muito bem documentada.  Este sistema de segurança é mais avançado que um típico módulo de segurança nativo de framework.

Visão geral do Role Based Security

Overview
O StrataFrame Role Based Security provê um conveniente, mas com uma metodologia extrema para inserir a segurança no nível base de sua aplicação.  Sua meta é prevenir uma entrada em áreas desautorizadas de uma aplicação de quaisquer pontos da interface do usuário.  Muitos desenvolvedores de aplicativos se deparam com a árdua tarefa de desenvolver e implementar um sistema de segurança que reside no topo de qualquer framework. 

Segurança no Strataframe é desenvolvida no nível elementar do framework.  Isto permite ao desenvolvedor configurar regras de segurança com objetos de negócios associados e controles UI. 

Segurança da aplicação para o usuário final incluída

Strataframe Role Based Security também provê ao desenvolvedor um Aplicativo Robusto de Segurança para desenvolvimento e segurança, preferências, permissões, áreas e usuários globais.   O Aplicativo de Segurança pode ser inserido e distribuído com a sua própria aplicação, com licença livre de royalties.   

Ajuda Ténica e do Usuário
Role Based Security também é distribuída com Ajuda Técnica a ser usada pelo desenvolvedor para implementação com o aplicativo e Ajuda do Usuário que explica o Aplicativo de Segurança para o usuário final.  É claro, a Ajuda do Usuário pode ser distribuída livre de roialties.


Prerências Globais
View Larger Image
Preferências Globais

Visão Geral das Preferências
As preferências globais são usadas para reforçar as constantes universais do sistema de segurança. Com a exceção de expiração de senha e trava de sessão,os valores não podem ser subscritos. As preferências existem para controlar senhas, tamanhos, políticas de senhas, logon e travamento de seções.

Por exemplo, o tamanho máximo e mínimo de senhas, o tempo mínimo entre mudanças de senhas, a idade máxima de uma senha a marcação de complexibilidade de senhas são algumas das propriedades associadas as preferências globais.

Complexibiliade da Senha
Os requerimentos de uma senha complexa seguem de perto os requerimentos definidos pela Microsoft® para senhas complexas com o sistema operacional Windows 2003®.

As especificações exatas para senhas complexas são:

  • A senha tem que ter no mínimo seis caracteres.
  • A senha deve conter caracteres de no mínimo 3 das 5 categorias:
    • Caracteres maiúsculos em inglês (A – Z)
    • Caracteres minúsculos em inglês (a – z)
    • Dígitos Base 10 (0 – 9)
    • Não-alphanuméricos ou símbolos (por exemplo: !,$,#, ou %)
    • Caracteres Unicode
  • A senha não pode conter 3 ou mais caracteres consecutivos de uma palavra ou nome de conta do usuário. Por exemplo, se o nome da conta for "John L. Doe", a senha não irá será aprovada no requerimento de complexibilidade mínimo necessário com qualquer das seguintes combinações: "joh", "ohn", "doe".

Logon e Sessão
Preferencias também contém configurações para sessão de logon e travamento de sessão por inatividade.  Um intervalo de entrada se senhas pode ser estabelecido que especifica a quantidade do tempo que um usuário deve esperar para tentar um logon antes que ele/ela seja permitido logar novamente.  Esta metodologia inibe programas automáticos desenvolvidos para hackear senhas do sistemas.

Bloqueios por Inatividade de sessão permitem ao usuário estabelecer a quantidade de tempo de inatividade antes que a sessão seja bloqueada e o usuário seja re-autenticado antes de continuar a usar a aplicação.  Esta característica é muito útil para aplicativos onde a estação de trabalho do usuário é localizado em uma área de acesso público.  Se usada, esta opção irá esconder quaisquer formulários de aplicações ativas na hora que a sessão for bloqueada; desta forma, prevenindo acesso ou visualização não autorizada.

Permissions
View Larger Image
Permissões

Visão Geral de Permissões
São atribuídas permissões a recursos dentro do aplicativo (ex: formulários, módulos, objetos de negócios). Esta permissão é requerida para acessar ou manipular este recurso na aplicação. Esta permissão é conferida ou negada a áreas e usuários específicos para indicar quais usuários tem o direito a acessar ou manipular aquele recurso.

As permissões disponíveis dependem do aplicativo e são atribuídos pelo desenvolvedor do software e não podem ser editados fora do ambiente de desenvolvimento. Tipicamente, a permissão é binária: ou você tem uma permissão particular ou você não tem; de qualquer forma, qualquer permissão pode ser configurada para também permitir somente acesso a leitura.

Como as Permissões São Usadas
Tipicamente, permissões são divididas em uma das seguintes categorias:
  1. Permissão a Nível de Formulário - Acesso ao formulário é permitido ou negado.
  2. Permissão a Nível de Tabela
    • Adicionar em Nível de Tabela - Um usuário pode adicionar um registro a uma tabela.
    • Editar em Nível de Tabela - Um usuário pode editar um registro em uma tabela.
    • Excluir em Nível de Tabela - Um usuário pode excluir um registro em uma tabela.
  3. Permisssão a Nível de Campo - O acesso a um campo pode ser especificado como editável, somente leitura ou negado.

Não são todos os níveis de permissões que são requeridos para existir em todos os formulários, então, não é necessário ou até prático para uma permissão existir para cada tipo de evento que exista em uma aplicação.   Por exemplo, para certos formulários de manutenção no aplicativo, é somente necessária uma única permissão a ser determinada para negar o acesso ao formulário de manutenção; os níveis mais granulares não são requeridos.   De outra forma se o formulário não contiver informação sensivel que nem todos usuáriossejam habilitados a ver ou editar, o desenvolvedor pode forçar a segurança para que esta parte da aplicação seja mais detalhada, especificando uma permissão separada para diferentes campos com uma tabela única.

Permissões de Ações
Várias ações estão disponíveis quando a permissão foi rejeitada em tempo de desenvolvimento.  Obviamente, estas ações são estabelecidas pelo desenvolvedor baseada na necessidade de funções da aplicação.   Estas ações são:

  • Sem Mensagem - Esta opção é usada quando nenhuma mensagem necessita ser exibida ao usuário final.  Por exemplo:
    1. Acesso Programático - Esta opção pode ser usado para acesso programático quando a intervenção do usuário não é necessária. 
    2. Nível de Campo - Se isto for configurado para o campo seu acesso será negado, o usuário não será habilitado a ver o conteúdo do campo (ele será vazio). os dados atuais que es~tão ligados ao campo não serão mudados, apenas seu estado de visualização.
  • Mensagem - A mensagem entrada no Message ou Key text box será exibido ao usuário final.
  • Message Key - A chave de mensagem entrada no text box da Mensagem ou Chave e o texto correspondente será exibido ao usuário.
  • Substituir cada Caractere - Esta seleção é a mesma que a seleção "Sem Mensagem", a única diferença é ao invéz de exibição em branco, o caractere "X" será usado para substituir o conteúdo dos campos. Novamente, somente o estado de visualização é mudado com a seleção, os dados atuais não são tocados.
  • Áreas
    View Larger Image
    Roles

    Visão Geral de Funções
    Na segurança baseada em funções, premissões são associadas com áreas.  Usuários são feitos membros de áreas, desta forma adiquirindo as permissões associadas. O propósito de uma área ou função é para agrupar tarefas parecidas como enfermeiras, médicos ou pessoal de seguros, desta forma ajudando a gerenciar usuários e controlando o acesso as funções da aplicação.

    A determinação das permissões a uma simples função binária: permissões são marcadas para atribuir acesso e são desmarcadas para negar acesso. Além disto, uma função pode ser controlada em um nível mais granular com ações, auditando e com suas restrições de uso.   O objetivo de um sistema de segurança baseado em funções é para gerenciar a predominância dos direitos de acesso do nível atual da função e somente subscrever permissões ao nível de usuário quando necessário.

    Users
    View Larger Image
    Users

    Visão Geral de Usuários
    O Propósito da de qualquer sistema de segurança é de controlar o acesso. Um sistema bem desenvolvido ajuda o administrador do aplicativo quando estiver um configurando o acesso aos direitos do usuário. Como dito anteriormente, o objetivo de um sistema de segurança baseado em funções é para gerenciar a predominancia dos direitos de acesso do nível atual da função e somente subscrever permissões ao nível de usuário quando necessário.

    Esta técnica permite mudanças que podem ser feitas em um nível global, a função atual e ultimamente herdado no nível individual de usuário. Contudo, é importante ser habilitado a controlar a granulidade de qualquer usuário sem afetar funções ou outros usuários. Este sistema é desenvolvido para incorporar o controle e acesso do usuário final.

    Em adição as informações de usuário e senha, várias propriedades permitem flexibilidade ao sistema de segurança.  Você pode querer desativar uma conta de usuário após uma data em particular, marcar o usuário como inativo, fazer do usuário um Administrador, ou ativar a autenticação do windows para a conta do usuário.  Timeouts de sessões também podem ser estabelecidos ao nível de usuário.

    Configurações de Usuários
    View Larger Image
    Restriction Sets

    Visão Geral de Restrições
    Uma Configuração de Restrição é usada para criar uma regra de acesso global ao usuário que consiste em dias da semana, hora do dia, estação de trabalho e ação. Uma Configuração de Restrição é usada para habilitar ou impedir o acesso do usuário dependendo da ação (permitir, negar, ou somente ler).  Em muitos aplicativos, o usuário deve ser restrito a hora e possivelmente a estação de trabalho que ele/ela normalmente trabalha.

    Esta carcterística ajuda previne compartilhamento de senhas (ou roubos) em configurações da aplicação.  Desde que a maioria dos controles e auditorias de uma aplicativo se iniciam e terminam com um sistema de segurança, as configurações de restrições habilitam reforços em uma base granular pertinentes a horário e estação de trabalho.

    Chaves de Segurança
    View Larger Image
    Colocando Segurança no seu Aplicativo

    Para incorporar o Role Based Security ao seu aplicativo é fácil usando o sistema de segurança do Strataframe.   Usando um jeito granular, segurança pode ser inserida em cada área de sua aplicação.   Como previamente mencionado, a segurança da Aplicação está pronta pra usar e instalar em seus sites com usuários; ja que, muito do código ja está pronto.  A interface programática tambem é simples.

    Chaves de Segurança
    Chaves de Segurança são os elementos básicos de segurança que o permitem personalizar e inserir segurança no seu aplicativo.  Facilmente estabelecido via o Editor de Chaves de Segurança, chaves de segurança podem ser criadas e mantidas para cada elemento julgado necessário pelo desenvolvedor.  Por exemplo, uma chave de segurança poderia ser estabelecida para cada formulário com direitos de acesso restritos.  Outra chave de segurança seria estabelecida por um objeto de negócios, detalhando se o usuário tem acesso ao objeto de negócios, e se tiver, veremos se é de criação, edição e visualização de privilégios.

    Outro tipo de chave de segurança pode refletir acesso a direitos de campos nos objetos de negócios.   Isto permite campos de dados sensíveis a serem restringidos para ediçãoou visualização baseado nas funções do usuários e privilégios.  Esta metodologia permite o desenvolvedor a decidir qual o nível de segurança necessário por todas as áreas da aplicação.

    Fomulário de Logon Padrão
    View Larger Image
    Acesso Programático

    Todos os métodos e classes são facilmente incorporadas aos aplicativos Strataframe desde que eles existem no nível hierarquico mais básico.  Isto faz a incorporação de segurança baseada em áreas invisível ao usuário final de seu aplicativo.  O seguinte mostra alguns exemplos de como incorporar ações e características de segurança particulares no seu aplicativo.

    Mostrando o Form Inicial
    Mostrando o formulário inicial de login de uma aplicação com o StrataFrame é efetuado através da classe MicroFour.StrataFrame.Security.Login. Esta classe tem a propriedade LoginFormType que aceita o System.Type do formulário que será exibido como login. Este tipo de formulário padroniza o MicroFour.StrataFrame.Security.LoginForm e pode ser selecionado para qualquer login customizado que implementa a interface MicroFour.StrataFrame.Security.ILoginForm.   Um formulário de login personalizado também pode ser criado e incorporado na segurança da aplicação.  

    Uma vez que LoginFormType foi configurado (ou deixado seu valor padrão), você pode chamar o método Login.ShowLoginAndAuthUser() para mostrar o formulário de login e autenticar um usuário ao sistema. este método irá retornar um valor Boleano indicando se o usuário foi autenticado ou se ele/ela cancelou o formulário e o aplicativo deve finalizar.

    Seguindo o código de exemplo (Visual Basic e C#) para usar o formulário de Logon.  Embora não incluído neste documento, código de exemplo para todos elementos do StrataFrame Role Based Security são similares no usuo e estrutura.  O método ShowLoginAndInitMainForm() no arquivo AppMain.vb (Program.cs) é provido para dar a localização para mostrar o formulário inicial de login da aplicação.

    Exemplo - Mostrando o Formulário Inicial de Login [Visual Basic]
    Imports MicroFour.StrataFrame.Security.BusinessObjects
    ...
    Private Shared Sub ShowLoginAndInitMainForm( _
    ByVal e As ShowLoginAndInitFormEventArgs)
    
    '-- Set the login form type to the appropriate form type (optional)
    Login.LoginFormType = GetType(MyLoginForm)
    
    '-- Show the login form and set the return value back to e.ShowMainForm
    '   The true value passed to the method tells the method to allow the
    '   end-user to cancel the login form, which will return False from the 
    '   method.
    e.ShowMainForm = Login.ShowLoginAndAuthUser(True) 
    End Sub

    Exemplo - Mostrando o Formulário Inicial de Login [C#]

    using MicroFour.StrataFrame.Security;
    ...
    private static void ShowLoginAndInitMainForm(ShowLoginAndInitFormEventArgs e)
    {
    
    //-- Set the login form type to the appropriate form type (optional)
    Login.LoginFormType = typeof(MyLoginForm);
    
    //-- Show the login form and set the return value back to e.ShowMainForm
    //   The true value passed to the method tells the method to allow the
    //   end-user to cancel the login form, which will return False from the 
    //   method.
    e.ShowMainForm = Login.ShowLoginAndAuthUser(true);
    }

    Recuperando Preferências Globais do Banco de Dados
    Um método (estático) é provido para recuperar preferencias globais do banco de dados.   Executando MicroFour.StrataFrame.Security.BusinessObjects.SFSPreferencesBO.RetrieveSecurityPreferences() recupera as preferências da tabela SFSPreferences no banco de dados e popula as propriedades na classe de segurança SecurityBasic.  Por exemplo, a propriedade "SessionTimeout" irá conter a hora padrão que a sessão do usuário pode permanecer ocioso antes que a sessão ultrapasse o tempo limite e trave.

    especificando a Chave de Encriptação para os Dados dos Usuários
    Dados de Usuários são armazenados com o banco de dados na tabela SFSUsers usando encriptação 3DES. A chave para ecriptação 3DES é especifica usando o método SecurityBasics.SetSecurityKeyAndVectorForUserAuthentication(). Este método cria um hash da chave dada e usa o System.Byte[] que é usado para a chave de encriptação e vetor de inicialização do algoritimo 3DES.  mesmo sendo os dados armazenados em bancos de dados padrões, esta metodologia garante que os detalhes de segurança não serão comprometidos.

    Acessando Permissões Programaticamente
    O MicroFour.StrataFrame.Security.SecurityBasics.CurrentUser contém o método GetPermission() que é usado para programaticamente recuperar a PermissionInfo para a chave de permissão. O método aceita um string de parâmetro único que indica a chave de permissão na qual você quer recuperar a PermissionInfo. Uma vez que a informação de permissão é recuperada, você pode determinar a ação que deve ser executada.

    Exemplo – GetPermission() [Visual Basic]

    Imports MicroFour.StrataFrame.Security
    ...
    Private Sub CheckMyPermission()
    '-- Retrieve the permission and test it
    If SecurityBasics.CurrentUser.GetPermission("MyPerm").Action = _
    PermissionAction.Grant Then
    
    '-- Enable the control
    Button1.Enabled = True
    Else
    '-- Disable the control
    Button1.Enabled = False
    End If
    End Sub

    Exemplo – GetPermission() [C#]

    using MicroFour.StrataFrame.Security;
    ...
    private void CheckMyPermission()
    {
        //-- Retrieve the permission and test it
        if (SecurityBasics.CurrentUser.GetPermission(@"MyPerm").Action ==
            PermissionAction.Grant)
        {
            //-- Enable the control
            Button1.Enabled = true;
        }
        else
        {
            //-- Disable the control
            Button1.Enabled = false;
        }
    }



     

    Português
    View Larger Image
    Localização

    Inglês, Espanhol e Português
    O aplcativo StrataFrame Role Based Security pode ser traduzido para qualquer idioma.  Atualmente, localização foi criada para English, Espanhol, Português, Alemão, Francês, Italiano e Russo.  Os objetos de aplicação, incluindo formulários, labels, text boxes e lists podem ser localizados para uma das sete configurações de idiomas.

    Todas as mensagens para usuários também podem ser traduzidas para o idioma pertinente.  Isto permite a desenvolvedores a inserirem aplicações de segurança em suas aplicações e lançarem para o usuário final.










      










     

    Mapa do Site - Página Principal - Minha Conta - Forum - Sobre - Contato - Avalie - Compre

    Microsoft, Visual Studio e o logotipo Visual Studio são marcas registradas de Microsoft Corporation nos Estados Unidos e/ou outros países.