Changes between Version 4 and Version 5 of Normalization


Ignore:
Timestamp:
09/03/25 23:41:59 (2 days ago)
Author:
222004
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Normalization

    v4 v5  
    318318\\
    319319Со додавањето на безбедносните атрибути, сите нетривијални функционални зависности и натаму имаат клуч/суперклуч на лева страна => **Users останува во BCNF.**
    320 
    321 **Spring Security**\\
    322 Извадок од нашиот security config:\\
    323 {{{
    324 
    325 @Bean
    326 public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
    327     http
    328         .csrf(AbstractHttpConfigurer::disable)
    329         .authorizeHttpRequests(reg -> reg
    330             .requestMatchers("/", "/login", "/register", "/error",
    331                              "/css/**", "/js/**", "/uploads/**", "/logo.png", "catalog").permitAll()
    332             .requestMatchers("/admin/branded-medicines/**").hasAnyRole("ADMIN","PHARMACIST")
    333             .requestMatchers("/admin/**").hasRole("ADMIN")
    334             .requestMatchers("/pharmacist/**").hasRole("PHARMACIST")
    335             .anyRequest().permitAll()
    336         )
    337         .formLogin(login -> login
    338             .loginPage("/login")
    339             .defaultSuccessUrl("/profile", true)
    340             .permitAll()
    341         )
    342         .logout(logout -> logout
    343             .logoutUrl("/logout")
    344             .logoutSuccessUrl("/login?logout")
    345             .permitAll()
    346         )
    347         .sessionManagement(sm -> sm.sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED));
    348 
    349     return http.build();
    350 }
    351 
    352 
    353 }}}
    354 
    355 Админ рутите (/admin/*) се достапни само за корисници кои се ADMIN, делот за фармацевти (/pharmacist/*) само за PHARMACIST, а клиентски функционалности се ограничуваат по потреба за CLIENT.\\
    356 Останатите јавни рути се permitAll, а чувствителните се заштитени со hasRole/hasAnyRole (на пр. /admin/branded-medicines/* за ADMIN или PHARMACIST).
    357 Автентикацијата е остварена преку custom login форма и redirect на /profile при успешна автентикација.\\