Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- `create database universityapp DEFAULT CHARACTER SET utf8
- DEFAULT COLLATE utf8_general_ci;`
- FilterRegistration.Dynamic filterEncoding = container.addFilter("characterEncodingFilter", CharacterEncodingFilter.class);
- filterEncoding.setInitParameter("encoding", "UTF-8");
- filterEncoding.setInitParameter("forceEncoding", "true");
- filterEncoding.addMappingForServletNames(null, true, "dispatcher");
- jdbc.url = jdbc:mysql://localhost:3306/app?useUnicode=yes&characterEncoding=UTF-8
- <Connector port="8080" protocol="HTTP/1.1"
- connectionTimeout="20000"
- redirectPort="8443"
- URIEncoding="UTF-8"/>
- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
- @Configuration
- @EnableWebSecurity
- public class SecurityConfiguration extends WebSecurityConfigurerAdapter{
- @Autowired
- @Qualifier("customUserDetailsService")
- UserDetailsService userDetailsService;
- @Bean
- public PasswordEncoder passwordEncoder(){
- return new BCryptPasswordEncoder(11);
- }
- @Bean
- public DaoAuthenticationProvider authenticationProvider() {
- DaoAuthenticationProvider authenticationProvider = new DaoAuthenticationProvider();
- authenticationProvider.setUserDetailsService(userDetailsService);
- authenticationProvider.setPasswordEncoder(passwordEncoder());
- return authenticationProvider;
- }
- @Autowired
- public void configureGlobalSecurity(AuthenticationManagerBuilder auth) throws Exception {
- auth.userDetailsService(userDetailsService);
- auth.authenticationProvider(authenticationProvider());
- }
- @Override
- protected void configure(HttpSecurity http) throws Exception {
- http.authorizeRequests()
- .antMatchers("/", "/students", "/subjects").permitAll()
- .antMatchers("/student/**").hasAnyRole("USER", "ADMIN")
- .and().formLogin().loginPage("/login")
- .usernameParameter("username").passwordParameter("password")
- .and().csrf()
- .and().exceptionHandling().accessDeniedPage("/AccessDenied");
- }
- }
- import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer;
- public class SecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer{
- }
- @Configuration
- @EnableWebMvc
- @ComponentScan(basePackages = "com.kubar.universityapp")
- public class AppConfig extends WebMvcConfigurerAdapter{
- @Bean
- public ViewResolver viewResolver() {
- InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
- viewResolver.setViewClass(JstlView.class);
- viewResolver.setPrefix("/WEB-INF/views/");
- viewResolver.setSuffix(".jsp");
- return viewResolver;
- }
- @Bean
- public MessageSource messageSource() { // Бин, определяющий файл с сообщениями
- ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
- messageSource.setDefaultEncoding("utf-8");
- messageSource.setBasename("messages");
- return messageSource;
- }
- @Override
- public void addResourceHandlers(final ResourceHandlerRegistry registry) {
- registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
- }
- }
- public class AppInitializer implements WebApplicationInitializer {
- public void onStartup(ServletContext container) throws ServletException {
- AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
- ctx.register(AppConfig.class, SecurityConfiguration.class);
- container.addListener(new ContextLoaderListener(ctx));
- ctx.setServletContext(container);
- ServletRegistration.Dynamic servlet = container.addServlet(
- "dispatcher", new DispatcherServlet(ctx));
- servlet.setLoadOnStartup(1);
- servlet.addMapping("/");
- FilterRegistration.Dynamic filterOpenSession = container.addFilter("openEntityManagerInViewFilter", OpenSessionInViewFilter.class);
- filterOpenSession.setInitParameter("singleSession", "true");
- filterOpenSession.addMappingForServletNames(null, true, "dispatcher");
- FilterRegistration.Dynamic filterEncoding = container.addFilter("characterEncodingFilter", CharacterEncodingFilter.class);
- filterEncoding.setInitParameter("encoding", "UTF-8");
- filterEncoding.setInitParameter("forceEncoding", "true");
- filterEncoding.addMappingForServletNames(null, true, "dispatcher");
- }
- @Configuration
- @EnableTransactionManagement
- @ComponentScan({ "com.kubar.universityapp.configuration" })
- @PropertySource(value = {"classpath:application.properties"}) // Месторасположение properties файла
- public class HibernateConfiguration {
- @Autowired
- private Environment environment;
- @Bean
- public LocalSessionFactoryBean sessionFactory() {
- LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
- sessionFactory.setDataSource(dataSource());
- sessionFactory.setPackagesToScan("com.kubar.universityapp.model");
- sessionFactory.setHibernateProperties(hibernateProperties());
- return sessionFactory;
- }
- @Bean
- public DataSource dataSource() {
- DriverManagerDataSource dataSource = new DriverManagerDataSource();
- dataSource.setDriverClassName(environment.getRequiredProperty("jdbc.driverClassName"));
- dataSource.setUrl(environment.getRequiredProperty("jdbc.url"));
- dataSource.setUsername(environment.getRequiredProperty("jdbc.username"));
- dataSource.setPassword(environment.getRequiredProperty("jdbc.password"));
- return dataSource;
- }
- private Properties hibernateProperties() {
- Properties properties = new Properties();
- properties.put("hibernate.dialect", environment.getRequiredProperty("hibernate.dialect"));
- properties.put("hibernate.show_sql", environment.getRequiredProperty("hibernate.show_sql"));
- properties.put("hibernate.format_sql", environment.getRequiredProperty("hibernate.format_sql"));
- return properties;
- }
- @Bean
- @Autowired
- public HibernateTransactionManager transactionManager(SessionFactory s) {
- HibernateTransactionManager txManager = new HibernateTransactionManager();
- txManager.setSessionFactory(s);
- return txManager;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement