Sobes.tech
Junior — Middle

Koje imate iskustvo u implementaciji sistema autorizacije i autentifikacije korisnika?

sobes.tech АИ

Одговор од АИ

U Java projektima implementirao sam sisteme za autentifikaciju i autorizaciju koristeći Spring Security. Obično sam koristio JWT (JSON Web Tokens) za autentifikaciju korisnika, što omogućava siguran prenos informacija o korisniku između klijenta i servera.

Primer jednostavne konfiguracione klase Spring Security:

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .csrf().disable()
            .authorizeRequests()
            .antMatchers("/login", "/register").permitAll()
            .anyRequest().authenticated()
            .and()
            .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
        // Dodavanje filtera za proveru JWT
        http.addFilterBefore(jwtFilter(), UsernamePasswordAuthenticationFilter.class);
    }

    // Ostale metode za autentifikaciju i generisanje tokena
}

Takođe sam implementirao čuvanje korisnika u bazi podataka sa hash-ovanjem lozinki (npr. pomoću BCryptPasswordEncoder). Važno je razlikovati pojmove autentifikacije (potvrda identiteta) i autorizacije (provera prava pristupa).