O sistema de gerenciamento de permissões mais simplificado, desenvolvido com base no Laravel5.5. Por favor, mude para o branch any54
para a versão Laravel5.4.
Any
é o novo módulo de back-end de gerenciamento mais simplificado, incluindo o controle de permissão mais simples. Quando escrevi o sistema de permissão pela primeira vez, li o código-fonte escrito por um estrangeiro. Com base em seu código, escrevi um backend baseado em Laravel5.2 IAdmin
. Este é o sistema de permissão original. Para uso público, todas as permissões são gravadas no arquivo de configuração.
iDashboard
otimiza as ideias de design e a estrutura do código com base no IAdmin
e vincula as permissões aos nomes de roteamento. Um middleware pode determinar as permissões de todos os controladores. Desenvolvido com base no Laravel 5.3, a única otimização é vincular permissões e aliases de roteamento, para que o código possa ser usado diretamente após ser escrito. No entanto, o problema de muitos arquivos de configuração não foi resolvido.
Any
é um projeto reconstruído com base na experiência iDashboard
. O controle de permissões em versões anteriores deve ser definido por você. Existe uma maneira de gerar e julgar permissões automaticamente como ACL? Isto reduz bastante a necessidade de definir permissões e configurações. Any
nasceu.
O princípio principal de Any
é obter o controlador (controlador) e método (método) atualmente acessado com base na rota visitada pelo usuário. O controlador adiciona o método para gerar um valor de permissão exclusivo. determinado método. Se você for um superadministrador, mesmo que não tenha essa permissão, a permissão será concedida automaticamente à função de superadministrador. Para evitar muitas consultas de middleware, uma cópia de todas as permissões do usuário atual será armazenada em cache após o login bem-sucedido do usuário. Ao julgar as permissões, elas são obtidas diretamente do cache. irá atualizar o cache. Além disso, muitas otimizações foram feitas no código.
Estas são apenas o começo das funções básicas, espero obter mais inspiração
Baixe o código deste projeto localmente:
git clone https://github.com/lanceWan/any.git
Entre no projeto e instale composer
:
cd any
composer install
Arquivo .env
de configuração:
[sudo]cp .env.example .env
Preste atenção às permissões de execução no Linux e Mac!
Configure o banco de dados:
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
Migrar dados:
php artisan migrate --seed
OK, o projeto está configurado. Basta visitar a página inicial e fazer login. Se você não conhece a rota, pode ir diretamente para o arquivo routes/web.php
. Conta de administrador padrão: iwanli
, senha: 123456
. Se você configurar no Linux
ou Mac
, preste atenção nas permissões dos diretórios relevantes. Não entrarei em detalhes aqui, aproveite!
O desenvolvimento do Any
é inseparável dos comentários e sugestões de todos. Se você tiver alguma ideia, pode enviá-la diretamente em https://github.com/lanceWan/any/issues.
Grupo de intercâmbio de aprendizagem Laravel: 312621686