Spring Security 권한 제어 프레임워크 사용 가이드
백엔드 관리 시스템에서는 일반적으로 다양한 사용자가 인터페이스에 액세스하는 기능을 제한하기 위해 액세스 권한 제어가 필요합니다. 사용자에게 특정 권한이 없으면 특정 인터페이스에 액세스할 수 없습니다.
이 기사에서는 waynboot-mall 프로젝트를 예로 들어 권한 제어 프레임워크 Spring Security를 일반적인 백엔드 관리 시스템에 도입하는 방법을 소개합니다. 개요는 다음과 같습니다:
waynboot-mall 프로젝트 주소: https://github.com/wayn111/waynboot-mall
1.스프링 시큐리티란?
Spring Security는 Java 애플리케이션을 위한 강력하고 유연한 보안 솔루션을 제공하도록 설계된 Spring 프레임워크 기반의 오픈 소스 프로젝트입니다. Spring Security는 다음 기능을 제공합니다:
- 인증: 양식 로그인, HTTP 기본 인증, OAuth2, OpenID 등과 같은 다양한 인증 메커니즘을 지원합니다.
- 권한 부여: 역할 또는 권한 기반 액세스 제어는 물론 표현식 기반의 세분화된 제어도 지원합니다.
- 보호: 세션 고정, 클릭 하이재킹, 크로스 사이트 요청 위조 및 기타 공격 방지와 같은 다양한 보호 조치를 제공합니다.
- 통합: Spring Framework 및 기타 타사 라이브러리 및 프레임워크(예: Spring MVC, Thymeleaf, Hibernate 등)와의 원활한 통합
2.스프링 시큐리티를 소개하는 방법
waynboot-mall 프로젝트에 spring-boot-starter-security 종속성을 직접 도입합니다.
으아악3. 스프링 보안을 구성하는 방법
Spring Security 3.0에서 Spring Security를 구성하는 것은 이전과 약간 다릅니다. 예를 들어 더 이상 WebSecurityConfigurerAdapter를 상속하지 않습니다. waynboot-mall 프로젝트에서 구체적인 구성은 다음과 같습니다.
으아악SecurityConfig 구성 클래스에 대한 자세한 소개는 다음과 같습니다.
- filterChain(HttpSecurity httpSecurity) 방법은 접근 제어의 핵심 방법입니다. 여기서는 URL, cors 구성, csrf 구성, 사용자 정보 로딩 구성, jwt 필터 차단 구성 및 기타 여러 기능에 권한 인증이 필요한지 여부를 설정할 수 있습니다.
- authenticationManager(AuthenticationConfiguration 인증Configuration) 메서드는 인증 인터페이스를 활성화하는 데 적합하며 수동으로 선언해야 합니다. 그렇지 않으면 시작 시 오류가 보고됩니다.
- bCryptPasswordEncoder() 메서드를 사용하면 사용자가 로그인할 때 비밀번호 암호화 정책을 정의할 수 있습니다. 수동으로 선언해야 하며, 그렇지 않으면 시작 시 오류가 보고됩니다.
4. 스프링 시큐리티를 사용하는 방법
Spring Security를 사용하려면 다음과 같이 액세스 권한을 제어해야 하는 메서드나 클래스에 해당 @PreAuthorize 주석을 추가하기만 하면 됩니다.
으아악현재 로그인한 사용자에게 list 메소드에 액세스할 수 있는 system:role:list 권한이 있음을 나타내기 위해 @PreAuthorize("@ss.hasPermi('system:role:list')") 주석을 list 메소드에 추가했습니다. 권한 오류가 반환됩니다.
5. 현재 로그인된 사용자의 권한을 얻습니다
SecurityConfig 구성 클래스에서는 사용자 정보 로드를 위한 구현 클래스로 UserDetailsServiceImpl을 정의하여 데이터베이스의 사용자 계정 및 비밀번호를 프런트 엔드에서 전달한 계정 및 비밀번호와 비교합니다. 코드는 다음과 같습니다.
으아악다음은 UserDetailsServiceImpl의 코드 로직에 대한 설명이므로 코드의 도움을 받아 이해할 수 있습니다.
- 데이터베이스의 현재 사용자 정보 읽기
- 사용자가 존재하는지 확인
- 비활성화 여부 결정
- 현재 사용자의 역할 정보 가져오기
- 역할에 따른 권한 정보 받기
요약하자면
이 글에서는 권한 제어 프레임워크 Spring Security 3.0 버전을 백엔드 관리 시스템 및 코드 실습에 도입하는 방법을 설명합니다. 나는 이것이 모든 사람이 권한 제어 프레임워크인 Spring Security를 명확하게 이해하는 데 도움이 될 것이라고 믿습니다. 나중에 이 기사의 사용 가이드에 따라 액세스 제어를 위해 단계별로 Spring Security를 자신의 프로젝트에 도입할 수 있습니다.
위 내용은 Spring Security 권한 제어 프레임워크 사용 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

데이터 복구는 항상 가열 된 주제입니다. 장치에서 데이터를 성공적으로 복원하려면 데이터를 저장하는 방법을 알아야합니다. 이 PHP.CN 게시물에서 RAID 복구와 하드 드라이브 복구의 차이점을 배울 수 있습니다.

타이핑하는 동안 사라지는 단어 텍스트가 사라지나요? 문서에서 일부 문자 나 단락이 사라질 수 있습니다. 무엇이 잘못 되었나요? Php.cn 웹 사이트 의이 게시물에서 텍스트 문제를 자동으로 삭제하는 단어를 자세히 살펴 보겠습니다.

OverWatch 2에 로그인하려고하면 LC-208 오류 메시지를받을 수 있으며 게임이 게임 서버에 연결되는 것을 방지합니다. Php.cn 의이 게시물은 LC-208 오버 워치 오류를 수정하는 방법을 소개합니다.

일반적으로 파일 탐색기에서 Google 드라이브 파일에 빠르게 액세스하고 편집 할 수 있습니다. 그러나 때로는 "Google Drive가 파일 탐색기에서 사라졌습니다"문제가 발생할 수도 있습니다. 여기에서 Php.cn 의이 게시물은 Google 드라이브를 표시하는 방법을 알려줍니다.

내 컴퓨터가 오랫동안 오랫동안 컴퓨터를 사용하는 이유는 무엇입니까? Windows 7 웰컴 화면을 느리게 수정하는 방법? 여전히 PC에서 Windows 7을 실행 하고이 문제를 충족하는 경우, 귀하는 올바른 장소에 있으며 Php.cn이 여러 솔루션을 제공합니다.

내장 비밀번호 관리 도구-자격 증명 관리자를 사용하여 웹 및 앱의 로그인 자격 증명을 관리하고 싶으십니까? Windows 11에서 자격 증명 관리자를 어떻게 열 수 있습니까? 이 게시물에서 Php.cn 은이 유틸리티에 액세스하는 여러 가지 방법을 수집하고

Microsft Defender Antivirus에는 Tegremoic Scanning이라는 기능이 있으며 Windows 11/10 장치에 다른 안티 바이러스 제품을 설치할 때 활성화 할 수 있습니다. 이제 Php.cn 의이 게시물은 WI에서 주기적 스캔을 활성화/비활성화하는 방법을 알려줍니다.

"Excel Hyperlinks가 작동하지 않는"문제를 겪은 적이 있습니까? 그것을 다루는 방법을 알고 있습니까? Php.cn 의이 게시물에서는이 문제를 제거하기 위해 몇 가지 실현 가능한 솔루션을 얻을 수 있습니다. 전문 데이터 복구 도구 T를 알게 될 것입니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기
