백엔드 관리 시스템에서는 일반적으로 다양한 사용자가 인터페이스에 액세스하는 기능을 제한하기 위해 액세스 권한 제어가 필요합니다. 사용자에게 특정 권한이 없으면 특정 인터페이스에 액세스할 수 없습니다.
이 기사에서는 waynboot-mall 프로젝트를 예로 들어 권한 제어 프레임워크 Spring Security를 일반적인 백엔드 관리 시스템에 도입하는 방법을 소개합니다. 개요는 다음과 같습니다:
waynboot-mall 프로젝트 주소: https://github.com/wayn111/waynboot-mall
Spring Security는 Java 애플리케이션을 위한 강력하고 유연한 보안 솔루션을 제공하도록 설계된 Spring 프레임워크 기반의 오픈 소스 프로젝트입니다. Spring Security는 다음 기능을 제공합니다:
waynboot-mall 프로젝트에 spring-boot-starter-security 종속성을 직접 도입합니다.
으아악Spring Security 3.0에서 Spring Security를 구성하는 것은 이전과 약간 다릅니다. 예를 들어 더 이상 WebSecurityConfigurerAdapter를 상속하지 않습니다. waynboot-mall 프로젝트에서 구체적인 구성은 다음과 같습니다.
으아악SecurityConfig 구성 클래스에 대한 자세한 소개는 다음과 같습니다.
Spring Security를 사용하려면 다음과 같이 액세스 권한을 제어해야 하는 메서드나 클래스에 해당 @PreAuthorize 주석을 추가하기만 하면 됩니다.
으아악현재 로그인한 사용자에게 list 메소드에 액세스할 수 있는 system:role:list 권한이 있음을 나타내기 위해 @PreAuthorize("@ss.hasPermi('system:role:list')") 주석을 list 메소드에 추가했습니다. 권한 오류가 반환됩니다.
SecurityConfig 구성 클래스에서는 사용자 정보 로드를 위한 구현 클래스로 UserDetailsServiceImpl을 정의하여 데이터베이스의 사용자 계정 및 비밀번호를 프런트 엔드에서 전달한 계정 및 비밀번호와 비교합니다. 코드는 다음과 같습니다.
으아악다음은 UserDetailsServiceImpl의 코드 로직에 대한 설명이므로 코드의 도움을 받아 이해할 수 있습니다.
이 글에서는 권한 제어 프레임워크 Spring Security 3.0 버전을 백엔드 관리 시스템 및 코드 실습에 도입하는 방법을 설명합니다. 나는 이것이 모든 사람이 권한 제어 프레임워크인 Spring Security를 명확하게 이해하는 데 도움이 될 것이라고 믿습니다. 나중에 이 기사의 사용 가이드에 따라 액세스 제어를 위해 단계별로 Spring Security를 자신의 프로젝트에 도입할 수 있습니다.
위 내용은 Spring Security 권한 제어 프레임워크 사용 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!