Guest User

Untitled

a guest
Jan 10th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.28 KB | None | 0 0
  1. `create database universityapp DEFAULT CHARACTER SET utf8
  2. DEFAULT COLLATE utf8_general_ci;`
  3.  
  4. FilterRegistration.Dynamic filterEncoding = container.addFilter("characterEncodingFilter", CharacterEncodingFilter.class);
  5. filterEncoding.setInitParameter("encoding", "UTF-8");
  6. filterEncoding.setInitParameter("forceEncoding", "true");
  7. filterEncoding.addMappingForServletNames(null, true, "dispatcher");
  8.  
  9. jdbc.url = jdbc:mysql://localhost:3306/app?useUnicode=yes&characterEncoding=UTF-8
  10.  
  11. <Connector port="8080" protocol="HTTP/1.1"
  12. connectionTimeout="20000"
  13. redirectPort="8443"
  14. URIEncoding="UTF-8"/>
  15. <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
  16.  
  17. @Configuration
  18. @EnableWebSecurity
  19. public class SecurityConfiguration extends WebSecurityConfigurerAdapter{
  20.  
  21. @Autowired
  22. @Qualifier("customUserDetailsService")
  23. UserDetailsService userDetailsService;
  24.  
  25. @Bean
  26. public PasswordEncoder passwordEncoder(){
  27. return new BCryptPasswordEncoder(11);
  28. }
  29.  
  30. @Bean
  31. public DaoAuthenticationProvider authenticationProvider() {
  32. DaoAuthenticationProvider authenticationProvider = new DaoAuthenticationProvider();
  33. authenticationProvider.setUserDetailsService(userDetailsService);
  34. authenticationProvider.setPasswordEncoder(passwordEncoder());
  35. return authenticationProvider;
  36. }
  37.  
  38. @Autowired
  39. public void configureGlobalSecurity(AuthenticationManagerBuilder auth) throws Exception {
  40. auth.userDetailsService(userDetailsService);
  41. auth.authenticationProvider(authenticationProvider());
  42. }
  43.  
  44. @Override
  45. protected void configure(HttpSecurity http) throws Exception {
  46. http.authorizeRequests()
  47. .antMatchers("/", "/students", "/subjects").permitAll()
  48. .antMatchers("/student/**").hasAnyRole("USER", "ADMIN")
  49. .and().formLogin().loginPage("/login")
  50. .usernameParameter("username").passwordParameter("password")
  51. .and().csrf()
  52. .and().exceptionHandling().accessDeniedPage("/AccessDenied");
  53. }
  54. }
  55.  
  56. import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer;
  57. public class SecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer{
  58. }
  59.  
  60. @Configuration
  61. @EnableWebMvc
  62. @ComponentScan(basePackages = "com.kubar.universityapp")
  63. public class AppConfig extends WebMvcConfigurerAdapter{
  64.  
  65. @Bean
  66. public ViewResolver viewResolver() {
  67. InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
  68. viewResolver.setViewClass(JstlView.class);
  69. viewResolver.setPrefix("/WEB-INF/views/");
  70. viewResolver.setSuffix(".jsp");
  71. return viewResolver;
  72. }
  73.  
  74. @Bean
  75. public MessageSource messageSource() { // Бин, определяющий файл с сообщениями
  76. ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
  77. messageSource.setDefaultEncoding("utf-8");
  78. messageSource.setBasename("messages");
  79. return messageSource;
  80. }
  81.  
  82. @Override
  83. public void addResourceHandlers(final ResourceHandlerRegistry registry) {
  84. registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
  85. }
  86.  
  87. }
  88.  
  89. public class AppInitializer implements WebApplicationInitializer {
  90.  
  91. public void onStartup(ServletContext container) throws ServletException {
  92.  
  93. AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
  94. ctx.register(AppConfig.class, SecurityConfiguration.class);
  95.  
  96.  
  97. container.addListener(new ContextLoaderListener(ctx));
  98. ctx.setServletContext(container);
  99.  
  100. ServletRegistration.Dynamic servlet = container.addServlet(
  101. "dispatcher", new DispatcherServlet(ctx));
  102. servlet.setLoadOnStartup(1);
  103. servlet.addMapping("/");
  104.  
  105. FilterRegistration.Dynamic filterOpenSession = container.addFilter("openEntityManagerInViewFilter", OpenSessionInViewFilter.class);
  106. filterOpenSession.setInitParameter("singleSession", "true");
  107. filterOpenSession.addMappingForServletNames(null, true, "dispatcher");
  108.  
  109. FilterRegistration.Dynamic filterEncoding = container.addFilter("characterEncodingFilter", CharacterEncodingFilter.class);
  110. filterEncoding.setInitParameter("encoding", "UTF-8");
  111. filterEncoding.setInitParameter("forceEncoding", "true");
  112. filterEncoding.addMappingForServletNames(null, true, "dispatcher");
  113.  
  114. }
  115.  
  116. @Configuration
  117. @EnableTransactionManagement
  118. @ComponentScan({ "com.kubar.universityapp.configuration" })
  119. @PropertySource(value = {"classpath:application.properties"}) // Месторасположение properties файла
  120. public class HibernateConfiguration {
  121.  
  122. @Autowired
  123. private Environment environment;
  124.  
  125. @Bean
  126. public LocalSessionFactoryBean sessionFactory() {
  127. LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
  128. sessionFactory.setDataSource(dataSource());
  129. sessionFactory.setPackagesToScan("com.kubar.universityapp.model");
  130. sessionFactory.setHibernateProperties(hibernateProperties());
  131. return sessionFactory;
  132. }
  133.  
  134. @Bean
  135. public DataSource dataSource() {
  136. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  137. dataSource.setDriverClassName(environment.getRequiredProperty("jdbc.driverClassName"));
  138. dataSource.setUrl(environment.getRequiredProperty("jdbc.url"));
  139. dataSource.setUsername(environment.getRequiredProperty("jdbc.username"));
  140. dataSource.setPassword(environment.getRequiredProperty("jdbc.password"));
  141.  
  142. return dataSource;
  143. }
  144.  
  145. private Properties hibernateProperties() {
  146. Properties properties = new Properties();
  147. properties.put("hibernate.dialect", environment.getRequiredProperty("hibernate.dialect"));
  148. properties.put("hibernate.show_sql", environment.getRequiredProperty("hibernate.show_sql"));
  149. properties.put("hibernate.format_sql", environment.getRequiredProperty("hibernate.format_sql"));
  150.  
  151. return properties;
  152. }
  153.  
  154. @Bean
  155. @Autowired
  156. public HibernateTransactionManager transactionManager(SessionFactory s) {
  157. HibernateTransactionManager txManager = new HibernateTransactionManager();
  158. txManager.setSessionFactory(s);
  159. return txManager;
  160. }
  161. }
Add Comment
Please, Sign In to add comment