Контроль разрешения также является сценарием, с которым мы часто сталкиваемся в ежедневном развитии. Нам нужно решить, можем ли мы увидеть определенный ресурс на основе роли пользователя. В настоящее время этот тип структур на рынке в основном включает в себя Широ и весеннюю безопасность, о которой мы будем говорить сегодня. Существуют сложные элементы управления в отношении контроля разрешения. Например, почти у каждой компании есть одна система входа. Это приходит в базу данных на основе имени пользователя, чтобы получить соответствующие разрешения, и отображает ресурсы, которые вы можете увидеть в соответствии с этим разрешением. Другой тип - это простой контроль, о котором мы собираемся упомянуть сегодня. Настраивая учетную запись, пароль и роль в код, вы также можете выполнить простой элемент управления. Недостатки являются самоочевидными, расширение не очень хорошее, и есть только фиксированная учетная запись, но этого все еще достаточно для демонстрации.
ОК, не говорите много чепухи, иди в Пом
<dependency> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter </artifactid> </depervice> <depervice> <groupid> org.springframework.boot </Groupid> <artifactid> spring-boot-starter-web </artifactid> </depertainty> <peyerty> </artepertindy> </artifactid> </Artifactid> </Artifactid> </GroupD> </artifactid> </artifactid> </GroupD> <groupId> org.springframework.boot </GroupId> <artifactId> Spring-Boot-Starter-Security </artifactid> </deperiancy>
Spring-Boot-Starter-Security завершает зависимости, необходимые для Spring Security. Нам не нужно настраивать один за другим, что упрощает наши операции и экономит наше время. Я должен сказать, что эти рамки на уровне предприятия внимательны. Если мы сами добавим банки, могут возникнуть различные проблемы из -за несовместимости между версиями. Это все вне по теме. Я буду удивлен, и мы продолжим. Проверьте класс конфигурации
пакет com.shuqi; import org.springframework.context.annotation.configuration; импорт org.springframework.core.annotation.order; импорт org.springframework.security.config.annotation.web.builders.httpsecurity; org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;@EnableWebSecuritypublic class SecurityConfig { @Configuration public static class WebSecurityConfigurationAdapter extends WebseCurityConfigurerAdapter {@Override Protected void configure (httpsecurity http) вызывает исключение {http.csrf (). Disable (); http .authorizerequests () .antmatchers ("/index") .hasrole ("admin"). AnyRequest (). }}}Эта конфигурация переведена на китайский: разрешение администратора требуется для доступа к ссылке /индекса, а все остальное разрешено. Иногда мы обращаем внимание только на код. На самом деле, эта аннотация @enablewebsecurity более важна, потому что это начало весенней безопасности. Он представил множество классов конфигурации, чтобы сделать безопасность эффективной. Мы установили разрешения администратора, но мы не установили имя пользователя и пароль, соответствующие разрешениям администратора, поэтому посмотрите на файл конфигурации
Безопасность: Пользователь: Имя: Корень Пароль: Корневой Роль: Администратор
Конфигурация почти сделана, посмотрите на наш контроллер
package com.shuqi.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloController { @RequestMapping("/index") public String index(){ return "hello world index"; } @RequestMapping ("/index1") public String index1 () {return "Hello World Index1"; }}Один перехвачен /индекс, а другой не перехвачен /индекс1, см. Разницу. Запустите проект, доступ /индекс
Вы можете видеть, что контроль доступа был добавлен, а корень и корень введены.
Вы можете увидеть результаты
Введите /index1, чтобы увидеть результат напрямую
Это означает, что наша конфигурация вступила в силу, и Spring Security действительно помогла нам контролировать доступ.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.