Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
por Jon Galloway
O MVC Music Store é um aplicativo tutorial que apresenta e explica passo a passo como usar ASP.NET MVC e Visual Studio para desenvolvimento web.
A MVC Music Store é uma implementação de loja de amostras leve que vende álbuns de música on-line e implementa a administração básica do site, o login do usuário e a funcionalidade do carrinho de compras.
Esta série de tutoriais detalha todas as etapas tomadas para criar o aplicativo de exemplo ASP.NET MVC Music Store. A Parte 7 aborda a Adesão e a Autorização.
O nosso controlador Store Manager está atualmente acessível a qualquer pessoa que visite o nosso site. Vamos alterar isso para restringir a permissão aos administradores do site.
Adicionando o AccountController e Views
Uma diferença entre o modelo completo de Aplicativo Web MVC 3 ASP.NET e o modelo de Aplicativo Web Vazio MVC 3 ASP.NET é que o modelo vazio não inclui um Controlador de Conta. Adicionaremos um Controlador de Conta copiando alguns arquivos de um novo aplicativo MVC ASP.NET criado a partir do modelo completo de Aplicativo Web MVC 3 ASP.NET.
Crie um novo aplicativo MVC ASP.NET usando o modelo completo de Aplicativo Web MVC 3 ASP.NET e copie os seguintes arquivos para os mesmos diretórios em nosso projeto:
- Copie AccountController.cs no diretório Controllers
- Copiar AccountModels no diretório Models
- Crie um diretório Account dentro do diretório Views e copie todos os quatro modos de exibição em
Altere o namespace para as classes Controller e Model para que comecem com MvcMusicStore. A classe AccountController deve usar o namespace MvcMusicStore.Controllers e a classe AccountModels deve usar o namespace MvcMusicStore.Models.
Nota: Esses arquivos também estão disponíveis no MvcMusicStore-Assets.zip download a partir do qual copiamos nossos arquivos de design do site no início do tutorial. Os arquivos de associação estão localizados no diretório Código.
A solução atualizada deve ter a seguinte aparência:
Adicionar um utilizador administrativo com o site de configuração do ASP.NET
Antes de exigirmos Autorização em nosso site, precisaremos criar um usuário com acesso. A maneira mais fácil de criar um usuário é usar o site interno de Configuração do ASP.NET.
Inicie o site Configuração do ASP.NET clicando no ícone no Gerenciador de Soluções.
Isso inicia um site de configuração. Clique na guia Segurança na tela inicial e, em seguida, clique no link "Ativar funções" no centro da tela.
Clique no link "Criar ou gerenciar funções".
Digite "Administrador" como o nome da função e pressione o botão Adicionar função.
Clique no botão Voltar e, em seguida, clique no link Criar usuário no lado esquerdo.
Preencha os campos de informação do utilizador à esquerda utilizando as seguintes informações:
| Campo | valor |
|---|---|
| Nome de Utilizador | Administrador |
| Palavra-passe | |
| Confirmar palavra-passe | |
| (qualquer endereço de e-mail funcionará) | |
| Pergunta de Segurança | (o que quiser) |
| Resposta de Segurança | (o que quiser) |
Nota:
- Na tabela anterior, a senha foi omitida.
- Você pode, é claro, usar qualquer senha que desejar. As configurações de segurança de senha padrão exigem uma senha com 7 caracteres e que contenha um caractere não alfanumérico.
Selecione a função Administrador para este usuário e clique no botão Criar usuário.
Neste ponto, você verá uma mensagem indicando que o usuário foi criado com êxito.
Agora você pode fechar a janela do navegador.
Autorização baseada em função
Agora podemos restringir o acesso ao StoreManagerController usando o atributo [Authorize], especificando que o usuário deve estar na função Administrador para acessar qualquer ação do controlador na classe.
[Authorize(Roles = "Administrator")]
public class StoreManagerController : Controller
{
// Controller code here
}
Nota: O atributo [Authorize] pode ser colocado em métodos de ação específicos, bem como no nível da classe Controller.
Ao navegar para /StoreManager abre uma caixa de diálogo de início de sessão:
Depois de iniciar sessão com a nossa nova conta de Administrador, podemos aceder ao ecrã Editar álbuns como anteriormente.