[Spring boot + Spring Security] Basic Project

1. Prepare Tools

  • IDE: Netbean 8.2
  • JDK: 1.8
  • Maven: 3.5.0 ## 2. Target Build project thỏa mãn các yêu cầu sau:
  • Sử dụng spring boot + spring security
  • xây dựng login page, home page.
  • Sử dụng user/pass mặc định để đăng nhập
  • Sử dụng annotation configuration thay cho xml configuration.
    

    3. Maven dependency

        <!-- Core starter, including auto-configuration support, logging and YAML -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <!-- Starter for using Spring Security -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <!-- Starter for building web, including RESTful, applications using Spring MVC. Uses Tomcat as the default embedded container -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
    

    4. Project setup and description

  • Class Application - điểm khởi đầu cho ứng dụng

    package com.vnpt.ssdc;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    @SpringBootApplication
    public class Application {
    
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
    }
    

Có 2 vấn đè ở class này các bạn cần quan tâm.

  • @ComponentScan là một annotation của spring phục vụ cho việc khai báo quét component ở đâu. Nếu không có mặc định spring sẽ quét tất cả các object nằm trong package đang chưa class khởi tạo và các sub-package của nó. Cụ thể ở đây, là com.vnpt.ssdc.*
  • Mặc định spring sẽ thực hiện nhiều default config, trong phạm vi bài viết này, mình chỉ đề cấp tới default "user" mà spring tự tạo phục vụ cho việc access.
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/login").permitAll()
                .anyRequest().authenticated()
                .and()
                .formLogin()
                .loginPage("/login")
                .permitAll();

    }

}
  • Annotation "EnableWebSecurity" cho phép enable spring-security cho web
  • Những config basic nhất đa phần sẽ được khởi tạo tại đây. Giờ chúng ta sẽ lướt qua một lượt. http.authorizeRequests() .antMatchers("/login").permitAll() // không check authen trên link "/login" .anyRequest().authenticated() // check authen trên tất cả các link khác .and() .formLogin() // sử dụng formlogin .loginPage("/login") // page login được generate thông qua controller xử lý "/login" .permitAll();

Ngoài ra chúng ta sẽ xây dựng thêm 2 class controller nữa, phục vụ cho việc sinh login page và xử lý sau khi login success

   @GetMapping("/login")
    public String login() {
        return "login";
    }

    @GetMapping("/")
    public String home() {
        return "home";
    }

5. Demo




6. Full Source

BasicSpringbootProject
http://bit.ly/2D7Zeuu

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

xoandaica

14 bài viết.
6 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
3 0
Bài viết này sẽ hướng dẫn các bạn từng bước xây dựng một ứng dụng java sử dụng spring boot kết hợp với spring data jdbc để lưu trữ và nhận dữ liệu ...
xoandaica viết 7 tháng trước
3 0
White
2 0
1. Single Thread 1. Làm một việc tại một thời điểm Không giống như đa số các ngôn ngữ lập trình khác, javascript đơn giản là đơn luồng. Điều này ...
xoandaica viết 7 tháng trước
2 0
White
2 0
1.Overview and Spring Architecture Spring security là một framework của spring được tạo ra nhằm phục vụ việc Authentication(Xác thực) và Authorizat...
xoandaica viết 7 tháng trước
2 0
Bài viết liên quan
White
0 0
Giới thiệu Trong bài hôm nay chúng ta sẽ tìm hiểu cách handle request POST của Spring Boot. Trước đó, bạn nên biết 1. 「Spring Boot 8」Tạo Web He...
https://loda.me viết 3 tháng trước
0 0
White
0 0
Trong bài viết này, một số hình ảnh hoặc nọi dung có thể bị thiếu do quá trình chế bản. Vui lòng xem nội dung ở blog gốc sau: (Link) (Link), chúng...
programmerit viết 4 năm trước
0 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
14 bài viết.
6 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!