Este artigo apresenta um poderoso tutorial prático de Shiro, usando o código mais simples e os cenários mais usados para permitir que você domine totalmente o uso de Shiro e se torne um mestre do combate de Shiro. Este tutorial Shiro é o tutorial de combate real Shiro mais forte em toda a rede.
Endereço do tutorial: Introdução à coluna prática do projeto Shiro - assistente de autoestudo
Por que este tutorial do Shiro é o mais forte de toda a rede?
Características de outros materiais
- O código está incompleto e não funciona .
- Não inclui a comparação e teste de várias funções, como permissão ou não, autenticação e autenticação.
- Apenas controla autenticação (autenticação) ou autorização (autorização), a cobertura é muito estreita .
- Funções importantes , como controle de permissões por meio de anotações e controle de permissões por meio de URLs, não são mostradas .
- Algumas bibliotecas de terceiros com muitos bugs são usadas .
- Existem poucos diagramas e nenhum processo de teste passo a passo.
- O código não pode ser usado diretamente no projeto , nem mesmo uma boa demonstração.
O resultado é: aprender é aprender em vão , e você não pode usar isso no projeto !
Características do Elfo Autodidata
- O código está bem completo, baixe o pacote de código-fonte compactado e o IDEA será executado diretamente .
- Incluindo a comparação e teste de várias funções como permissão ou não, autenticação, autenticação, etc.
- Controla autenticação e autorização, abrangendo cenários comuns .
- Demonstre funções importantes, como controle de permissões por meio de anotações e controle de permissões por meio de URLs .
- Ele usa ferramentas muito estáveis , como o próprio Spring .
- O diagrama é muito detalhado e há um processo de teste passo a passo.
O resultado é: depois de aprender, você pode dominar o controle de autoridade , o código pode ser usado diretamente no projeto e você pode concluir o projeto de gerenciamento de usuários de forma independente !
As habilidades de projeto que você dominará depois de aprender esta coluna
- Use Shiro para integrar o JWT e use anotações para controlar as permissões do usuário (comumente usadas no trabalho)
- Use Shiro para integrar o JWT e use url para controlar as permissões do usuário (comumente usado no trabalho)
- Use Shiro para integrar Session e use anotações para controlar permissões de usuários (comumente usadas em projetos antigos)
- Use Shiro para integrar Session e use redis para controlar permissões de usuário (comumente usado em projetos antigos)
Depois de aprender os itens acima, você pode desenvolver de forma independente um sistema de gerenciamento de usuários! O sistema de gerenciamento de usuários geralmente é necessário para cada projeto e deve ser dominado pelo desenvolvimento Java intermediário e avançado.
Depois de preencher esta coluna, você será capaz de responder às seguintes perguntas
- Como escrever a interface de login e logout do usuário?
- Como salvar a conta de usuário e a senha no banco de dados? Como as senhas são criptografadas?
- Como controlar o tempo efetivo de login do usuário? Por exemplo: Depois de permitir que o usuário faça login por 2 dias, ele deve fazer login novamente, o que ele deve fazer?
- Algumas interfaces permitem acesso anônimo, enquanto outras devem estar logadas para acessar, o que devo fazer?
- Após o login, você deve conseguir acessar todas as interfaces?
- E se os superadministradores tiverem todas as permissões, os administradores de pedidos só puderem acessar pedidos e os administradores de produtos puderem acessar apenas produtos?
- Se lhe pedissem para ser responsável por um sistema de gerenciamento de usuários de forma independente, você seria capaz de concluí-lo?
A cena do projeto desta coluna
Este artigo assume um sistema de shopping. Os papéis são os seguintes
- admin (super administrador): tem todas as permissões
- Use curingas shiro: *:*
- productManager (administrador do produto): tem todos os direitos sobre o produto (produto)
- produto:adicionar, produto:excluir, produto:editar, produto:visualizar
- orderManager (administrador do pedido): tem todas as permissões do pedido (pedido)
- pedido:adicionar, produto:excluir, produto:editar, produto:visualizar
Esta coluna o levará a experimentar as seguintes funções do projeto:
- Quando você não está logado, você só pode acessar interfaces anônimas, como: login
- Após o login, o superadministrador pode operar todas as interfaces, como: editar produtos, editar pedidos
- Após o login, o administrador do produto pode operar a interface do produto, como: editar o produto, mas não pode operar a interface do pedido, como: editar o pedido
- Após o login, o administrador do pedido pode operar a interface do pedido, como: editar pedido, mas não pode operar a interface do produto, como: editar pedido
- A função de exclusão só pode ser acessada por superadministradores, administradores de produtos não podem excluir produtos e administradores de pedidos não podem excluir pedidos
- Após o login expirar, a interface não pode ser acessada.