Spring Security Login Logout

sametklou

Spring Security Login Logout

Spring Security, Spring Framework'ün bir modülüdür ve kullanıcıların kimlik doğrulama ve yetkilendirme işlemlerini yönetmek için kullanılır. Bu makalede, Spring Security ile nasıl giriş ve çıkış işlemlerinin gerçekleştirileceği hakkında detaylı bilgi vereceğiz.

Giriş İşlemi

Spring Security ile giriş işlemi için aşağıdaki adımları takip edebilirsiniz:

1. Maven Bağımlılıklarının Eklenmesi

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

2. Security Config Sınıfının Oluşturulması

@Configuration
@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()
                .and()
            .logout()
                .permitAll();
    }

    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
}

3. Login Sayfasının Oluşturulması

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login Page</title>
</head>
<body>
    <h2>Login Page</h2>
    <form action="/login" method="post">
        <label for="username">Username:</label>
        <input type="text" id="username" name="username"><br><br>
        <label for="password">Password:</label>
        <input type="password" id="password" name="password"><br><br>
        <input type="submit" value="Login">
    </form>
</body>
</html>

Çıkış İşlemi

Spring Security ile çıkış işlemi için aşağıdaki adımları takip edebilirsiniz:

1. Logout Linki Oluşturulması

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Home Page</title>
</head>
<body>
    <h2>Welcome, User!</h2>
    <a href="/logout">Logout</a>
</body>
</html>

2. Security Config Sınıfına Logout Ayarlarının Eklenmesi

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .logout()
            .logoutUrl("/logout")
            .logoutSuccessUrl("/login")
            .permitAll();
}

Bu adımları takip ederek, Spring Security kullanarak giriş ve çıkış işlemlerini kolayca yapabilirsiniz. Sorularınız veya ek bilgi talepleriniz için yorum bırakabilirsiniz.