O controle de permissão também é um cenário que frequentemente encontramos no desenvolvimento diário. Precisamos decidir se podemos ver um determinado recurso com base na função do usuário. Atualmente, esse tipo de estrutura no mercado inclui principalmente Shiro e a segurança da primavera sobre a qual vamos falar hoje. Existem controles complexos sobre o controle de permissão. Por exemplo, quase todas as empresas têm um único sistema de login. Ele chega ao banco de dados com base no nome de usuário para obter as permissões correspondentes e exibe os recursos que você pode ver sob essa permissão. Outro tipo é o controle simples, que é o que vamos mencionar hoje. Ao configurar a conta, a senha e a função no código, você também pode executar o controle simples. As desvantagens são evidentes, a expansão não é boa e há apenas uma conta fixa, mas ainda é suficiente para uma demonstração.
Ok, não diga muito bobagem, vá para Pom
<Depencency> <Puperid> org.springframework.Boot </proupId> <TRATIFACTID> Spring-boot-starter </ArtifactId> </pendesicency> <pendence> <puperid> org.springframework.boot </frupid> <stifactId> spring-boot-starter-webweb </artef <GrupidId> org.springframework.boot </frugiD> <ArtifactId> Spring-Boot-Starter-Security </ArtifactId> </Dependency>
O Spring-Boot-Starter-Security envolve as dependências exigidas pela segurança da primavera. Não precisamos configurar um por um, o que simplifica nossas operações e economiza nosso tempo. Devo dizer que essas estruturas de nível empresarial são atenciosas. Se adicionarmos potes, vários problemas podem surgir devido à incompatibilidade entre as versões. Tudo isso é fora do tópico. Ficarei surpreso e continuaremos. Confira a classe de configuração
pacote com.shuqi; importar org.springframework.context.annotation.configuration; importar org.springframework.core.annotation.order; importar org.springframework.security.config.annotation.web.builders.httpsecurity; org.springframework.security.config.annotation.web.configuration.enableweburgerity; importar org.springframework.security.config.annotation.web.configuration.weburcurityConCurityFigureRadApter; @enabaturation WebSecurityConfigurationAdapter estende o webcurityConfigureRAdApter {@Override Protected void Configure (httpsecurity http) lança exceção {http.csrf (). Desabille (); http .authorizerequests () .antmatchers ("/index") .hasrole ("admin") .anyRequest (). periTall () .and () .httpbasic (); }}}Essa configuração é traduzida para o chinês: é necessária permissão de administrador para acessar o link /índice e tudo o mais é permitido. Às vezes, prestamos atenção ao código. De fato, esta anotação @enablewebsegurity é mais importante porque é o começo da segurança da primavera. Ele introduziu muitas classes de configuração para tornar a segurança eficaz. Definimos permissões de administrador, mas não definimos o nome de usuário e a senha correspondentes às permissões de administrador, então observe o arquivo de configuração
Segurança: Usuário: Nome: Raiz Senha: Raiz Função: Admin
A configuração está quase pronta, dê uma olhada no nosso controlador
pacote com.shuqi.controller; importar org.springframework.web.bind.annotation.requestmapping; importar org.springframework.web.bind.annotation.restController; @restControllerpublic Class hellocontroller {@requestmapping; } @ReQuestMapping ("/index1") public String index1 () {return "Hello World Index1"; }}Um é interceptado /índice e o outro não é interceptado /index1, veja a diferença. Inicie o projeto, acesso /índice
Você pode ver que o controle de acesso foi adicionado e a raiz e a raiz são inseridas.
Você pode ver os resultados
Digite /index1 para ver o resultado diretamente
Isso significa que nossa configuração entrou em vigor e a segurança da primavera realmente nos ajudou a controlar o acesso.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.