sábado, 17 de maio de 2008

Criptografia de dados utilizando hashcode

Uma das questões de segurança em sistemas web que devemos levar em consideração quando lidamos com informações de usuários é a maneira como este se fará seu login no sistema e como as informações de login serão armazenadas.

Com .NET podemos utilizar alguns recursos da plataforma para nos auxiliar nesta tarefa. Vou demonstrar como criptografar informações de login do usuário para armazená-las no bando de dados com segurança.

Vamos criar os métodos necessários para fazer a criptografia das informações do usuário em uma string formada com base 64.

Com estes métodos podemos utilizar para criptografar os dados do usuário para gravar no banco de dados e para validar as informações fornecidas pelo usuário para validar o login.

Referências: http://pt.wikipedia.org/wiki/Hash

quarta-feira, 14 de maio de 2008

Compartilhando User Controls entre aplicações

Uma das grandes facilidades de se trabalhar com ASP.NET[bb] é a possibilidade de criar “componentes” para reutilizá-lo em várias páginas. Uma das maneiras mais simples de fazê-lo é através da criação de User Controls, onde desenvolvemos todas as ações que nosso componente requer tais como: Mostrar elementos na tela, executar alguma ação específica etc. e replicar este componente em outras interfaces facilmente através do registro do mesmo na página. Porém podemos ter componentes que são comuns a vários sites e ao invés de replicarmos o código do componente diversas vezes na página (que possivelmente causará problema de manutenção) vou demonstrar aqui uma maneira simples de compartilhar User Controls entre aplicações.

1º Passo: Vamos criar um projeto web application que conterá apenas os controles que queremos que seja replicado em outros projetos. Criarei como exemplo um calendário dentro do User Control que deverá aparecer em todas as interfaces que utilizarem este User Control.

2º Passo: Vamos criar agora uma web application que consumirá o User Control desenvolvido no projeto anterior.

3º Passo: Agora vamos registrar nosso User Control diretamente no web.config para que permita uma maior “dinâmica” no modo de inserção do componente nas páginas que o utilizarão.

OBS: Vamos registrar o caminho do User Control com um caminho lógico específico, onde este não existe no projeto atual, mas posteriormente você entenderá o “por que”.


4º Passo: Agora vamos registrar o User Control no nosso webform.


5º Passo: Compile e publique os projetos.

6º Passo: Agora vamos implementar a tarefa que permitirá o User Control ser encontrado pelo nosso webform. Vá ao IIS e vá para o diretório virtual da sua página (se ainda não criou faça-o agora) e clique com o botão direito do mouse sobre a pasta virtual e escolha Novo > Diretório Virtual e crie outro diretório virtual com o nome de “Controls” por exemplo e coloque o caminho físico dos arquivos do projeto que é responsável pelos controles.

6º Passo: Agora seu User Control pode ser visualizado pelas suas aplicações, permitindo assim múltiplos web sites acessá-lo.

OBS: Vale lembrar que para que todos os web sites encontre o controle é necessário criar o subdiretório virtual que aponte para onde residem os arquivos do User Control.

sexta-feira, 9 de maio de 2008

Utilizando “smart tags” (Intellisense) para criar mapeamento no Nhibernate

Algumas das “maiores” tarefas para se trabalhar com o framework de persistência de objeto para banco de dados é o trabalho de criar o mapeamento das classes em xml que serão persistidas para o banco de dados, mas este processo pode de uma maneira geral nos tomar muito tempo, para facilitar este processo podemos utilizar as smart tags para nos auxiliar na criação do mapeamento em xml. Para isso devemos baixar os arquivos os arquivos de schema do Nhibernate[bb] no site do Framework: http://www.hibernate.org/6.html na sessão de downloads do Nhibernate. Após baixar o pacote de instalação e extrair os arquivos encontrará dois arquivos de schema com a extensão .xsd copie estes dois arquivos para o seguinte caminho: C:\Arquivos de Programas\Microsoft Visual Studio 9\xml\schemas\ . Após isso quando for criar seus mapeamentos do Nhibernate poderá utilizar as teclas de atalho CTRL + SPACE para utilizar as smart tags.

Referências na web:

http://www.hibernate.org

http://blog.benday.com/archive/2006/01/15/3646.aspx