Skip to content

Instantly share code, notes, and snippets.

View sophea's full-sized avatar
💭
https://medium.com/@sopheamak

sophea sophea

💭
https://medium.com/@sopheamak
View GitHub Profile
@sophea
sophea / WebSecurityConfig.java
Last active January 23, 2020 14:05
Springboot SecurityConfig
package com.sma.security.config;
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true,
securedEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint;
@sophea
sophea / JwtRequestFilter.java
Last active June 7, 2020 20:13
Jwt Request Filter
package com.sma.security.config;
@Component
public class JwtRequestFilter extends OncePerRequestFilter {
public static final String AUTHORIZATION = "Authorization";
public static final String BEARER = "Bearer ";
@Autowired
private JwtTokenService jwtTokenService;
@Override
@sophea
sophea / JwtTokenService.java
Last active June 8, 2024 07:30
JwtTokenService.java
package com.sma.security.config;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
@Component
public class JwtTokenService {
public static final long JWT_TOKEN_VALIDITY = 5 * 60 * 60;
@sophea
sophea / JwtUserDetailsService.java
Last active January 23, 2020 14:02
JwtUserDetailsService
package com.sma.security.service;
@Service
public class JwtUserDetailsService implements UserDetailsService {
@Autowired
private UserRepository userRepository;
@Autowired
@sophea
sophea / JwtTokenController.java
Last active January 23, 2020 14:01
JwtTokenController
package com.sma.security.controller;
@RestController
@CrossOrigin
public class JwtTokenController {
@Autowired
private AuthenticationManager authenticationManager;
@Autowired
private JwtTokenService jwtTokenUtil;
@Autowired
@sophea
sophea / SQLServerConfig.java
Last active January 24, 2020 16:29
SQLServer Config datasource
package com.sma.backend.multidb.config;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.orm.jpa.JpaTransactionManager;
@sophea
sophea / MySqlDatabaseConfiguration
Last active January 24, 2020 16:30
MySql Database Configuration as primary database
package com.sma.backend.multidb.config;
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(entityManagerFactoryRef = "mysqlEntityManagerFactory", transactionManagerRef = "mysqlTransactionManager", basePackages = {"com.sma.backend.multidb.database.mysql.repository"})
public class MySqlConfig {
@Primary
@Bean
@sophea
sophea / TestController.java
Created January 24, 2020 16:31
Test Controller
package com.sma.backend.multidb.controller;
import com.sma.backend.multidb.database.mysql.domain.CategoryEntity;
import com.sma.backend.multidb.database.mysql.repository.CategoryRepository;
import com.sma.backend.multidb.database.sqlserver.domain.CountryEntity;
import com.sma.backend.multidb.database.sqlserver.repository.CountryRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestBody;
@sophea
sophea / EncrypterHelper.java
Last active February 4, 2020 01:22
Encrypt and Decrypt code
package com.sma.security.utils;
import lombok.extern.slf4j.Slf4j;
import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;
import java.security.InvalidAlgorithmParameterException;
@sophea
sophea / OracleDatabaseConfiguration
Last active February 3, 2020 09:41
OracleDatabaseConfiguration
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(entityManagerFactoryRef = "oracleEntityManagerFactory", transactionManagerRef = "oracleTransactionManager", basePackages = { "com.sma.oracle.repository" })
public class OracleDatabaseConfiguration {
@Primary
@Bean
@ConfigurationProperties(prefix = "oracle.datasource")
public DataSourceProperties oracleDataSourceProperties(@Qualifier("oracleDataSourceProperties() {
return new DataSourceProperties();
}