ASP .NET - Usando MemberShip, roles e Profiles com o Microsoft Access 2
Na primeira parte deste artigo eu mostrei os passos necessários para podermos ajustar o nosso ambiente para poder usar os recursos de MemberShip, roles e Profiles com o Microsoft Access. Vou agora mostrar como realmente aplicar isso a um novo projeto web.
Usando os Providers para MS Access no seu site web
Se você seguiu as instruções da primeira parte deste artigo e não obteve nenhuma mensagem de erro esta pronto para usar os providers para MS Access.
Você pode então criar usuários com o controle de assistente CreateUserWizard, pode usar o controle Login , pode usar o método CreateUser para criar um usuário via código e pode usar também a ferramenta de administração WSAT(Web Site Administration Tool) para gerenciar os usuários e permissões.
Vamos começar usando a ferramenta WSAT; abra o projeto no Visual Web Developer e no menu WebSite clique em ASP .NET Configuration ou clique no ícone da janela Solution Explorer. Você verá a ferramenta de administração WSAT ser aberta:
Clique na aba Provider e a seguir no link Select a different provider for each feature (advanced); Na janela que será aberta você irá ver que o Access Provider esta selecionado para as características de MemberShip e Role;
A ferramenta WSAT sabe qual o provider deve usar com base no arquivo de configuração web.config.
Agora vamos criar um um perfil chamado Administrador e em seguida um usuário chamado Admin para testarmos.
Clique na aba Security e você verá que não temos nenhum perfil e nenhum usuário definido. Para criar um perfil (Role) clique no link Create or Manage roles;
A seguir informe o nome Administrador para o novo perfil a ser criado e clique no botão Add Role;
Você verá na próxima tela o perfil criado exibido conforme abaixo:
Agora clique no botão Back para voltar a página Security. Você vai notar que agora temos um perfil criado. Para criar um usuário clique no link Create User;
Na página apresentada marque o perfil Administrador para este usuário e informe os dados solicitados para criar um novo usuário e clique em Create User;
Uma página irá informar que o usuário foi criado com sucesso, apenas clique no botão Continue. Voltando para a página inicial você verá que agora temos um perfil e um usuário criado:
Pronto ! Acabamos de criar o perfil Administrador e o usuário macoratti.
Preparando o Arquivo web.config : Definindo o modo de autenticação e autorização
Vamos voltar ao nosso projeto web e abrir o arquivo web.config e alterar o elemento authentication conforme o código a seguir:
<authentication mode="Forms">
<forms loginUrl="Login.aspx" defaultUrl="Default.aspx"/>
</authentication>
Você esta informando ao ASP.NET que vai utilizar autenticação do tipo Forms e que o formulário de autenticação será Login.aspx e que o formulário padrão será a página Default.aspx. (Autenticação é o processo responsável por capturar as credenciais dos usuários e verificar suas permissões definidas.)
Nota: A propriedade DefaultUrl obtém a URL que a classe FormsAuthentication irá usar par efetuar o redirecionamento.
O ASP.NET permite alguns tipos de autenticação: None , Windows , Forms e Passport
Com o elemento authentication estamos determinando o tipo de autenticação que iremos utilizar, no caso forms, e a url do formulário de autenticação.
Agora devemos restringir o acesso ao usuários anônimos a nossa aplicação. Abra o arquivo web.config e inclua a seguinte definição:
<
authorization>Esta definição do elemento autorization, esta negando acesso a usuários desconhecidos (não autenticados) representado pelo "?".
Agora ao tentar acessar a aplicação um usuário não autenticado será direcionado para a página Login.aspx
Vamos então criar esta página no nosso web site. Clique com o botão direito do mouse sobre o nome do projeto e selecione Add New Item e em Templates selecione Web Form e informe o nome Login.aspx.
Agora a partir da caixa de ferramentas , na aba Login, inclua um componente Login no formulário;
Aproveite e altere os textos relativos as labels do formulário e mensagens para português na janela de propriedades do controle;
Este formulário será apresentando para que o usuário se identifique. A verificação será feita usando os providers para o MS Access criado onde somente o usuário macoratti terá acesso.
Agora vamos abrir o code-behind a página Default.aspx e no evento Load da página incluir o código abaixo:
Protected Sub
Page_Load(ByVal sender As
Object, ByVal e
As System.EventArgs)
Handles Me.Load
Label1.Text = "Você ‚ membro do perfil Administrador " End If End Sub |
Este código irá exibir o nome do usuário logado e verificar se ele faz parte do perfil Administrador , exibindo uma mensagem em caso positivo.
Executando o web site veremos o formulário de Login , e, informando o nome e senha do usuário cadastrado (macoratti) iremos obter:
Com isso comprovamos que a utilização dos providers para MSAccess é possível e apresenta os mesmos recursos que para o SQL Server 2005.
Pegue o projeto completo aqui: Access_Providers.zip
Eu sei é apenas ASP .NET mas eu gosto ...
Referências:
José Carlos Macoratti