Guest User

Untitled

a guest
Mar 31st, 2018
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.47 KB | None | 0 0
  1. import org.joda.time.DateTime;
  2. import org.springframework.boot.CommandLineRunner;
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5. import org.springframework.context.annotation.Bean;
  6.  
  7. @SpringBootApplication
  8. public class WebApplication {
  9.  
  10. public static void main(String[] args) {
  11. SpringApplication.run(WebApplication.class, args);
  12. }
  13.  
  14. @Bean
  15. CommandLineRunner init(final UserRepository userRepository, final UserRoleRepository userRoleRepository) {
  16. return new CommandLineRunner() {
  17. @Override
  18. public void run(String... arg0) throws Exception {
  19. UserRole usRole = new UserRole();
  20. usRole.setUroName("Admin");
  21. usRole.setUroCode("admin");
  22. usRole.setUroType("admin");
  23. usRole.setUroCreatedDttm(new DateTime().toString());
  24. userRoleRepository.save(usRole);
  25.  
  26. UserTbl userTbl = new UserTbl();
  27. userTbl.setEmail("ganeshsagar58@gmail.com");
  28. userTbl.setUsrPassword("c0b137fe2d792459f26ff763cce44574a5b5ab03");
  29. userTbl.setFirstName("Ganesh");
  30. userTbl.setLastName("Bhagavath");
  31. UserRole userRole = userRoleRepository.findByUroName("Admin");
  32. userTbl.setUro(userRole);
  33.  
  34. userRepository.save(userTbl);
  35. }
  36. };
  37. }
  38. }
  39.  
  40. import java.math.BigInteger;
  41.  
  42. import javax.validation.constraints.Email;
  43. import javax.validation.constraints.NotNull;
  44. import javax.validation.constraints.Size;
  45.  
  46. import org.joda.time.DateTime;
  47. import org.springframework.data.annotation.Id;
  48. import org.springframework.data.mongodb.core.mapping.DBRef;
  49. import org.springframework.data.mongodb.core.mapping.Document;
  50.  
  51. @Document
  52. public class UserTbl
  53. {
  54. @Id
  55. private BigInteger id;
  56.  
  57. @DBRef
  58. private UserRole uro;
  59.  
  60. @NotNull
  61. @Size(min=2, max =30)
  62. private String firstName;
  63.  
  64. @NotNull
  65. @Size(min=2, max =30)
  66. private String lastName;
  67.  
  68. @NotNull
  69. @Email
  70. private String email;
  71.  
  72. @NotNull
  73. private String usrPassword;
  74.  
  75. private DateTime usrCreatedDttm;
  76.  
  77. private DateTime usrModifiedDttm;
  78.  
  79. public BigInteger getId() {
  80. return id;
  81. }
  82.  
  83. public void setId(BigInteger id) {
  84. this.id = id;
  85. }
  86.  
  87. public UserRole getUro() {
  88. return uro;
  89. }
  90.  
  91. public void setUro(UserRole uro) {
  92. this.uro = uro;
  93. }
  94.  
  95. public String getFirstName() {
  96. return firstName;
  97. }
  98.  
  99. public void setFirstName(String firstName) {
  100. this.firstName = firstName;
  101. }
  102.  
  103. public String getLastName() {
  104. return lastName;
  105. }
  106.  
  107. public void setLastName(String lastName) {
  108. this.lastName = lastName;
  109. }
  110.  
  111. public String getEmail() {
  112. return email;
  113. }
  114.  
  115. public void setEmail(String email) {
  116. this.email = email;
  117. }
  118.  
  119. public String getUsrPassword() {
  120. return usrPassword;
  121. }
  122.  
  123. public void setUsrPassword(String usrPassword) {
  124. this.usrPassword = usrPassword;
  125. }
  126.  
  127. public DateTime getUsrCreatedDttm() {
  128. return usrCreatedDttm;
  129. }
  130.  
  131. public void setUsrCreatedDttm(DateTime usrCreatedDttm) {
  132. this.usrCreatedDttm = usrCreatedDttm;
  133. }
  134.  
  135. public DateTime getUsrModifiedDttm() {
  136. return usrModifiedDttm;
  137. }
  138.  
  139. public void setUsrModifiedDttm(DateTime usrModifiedDttm) {
  140. this.usrModifiedDttm = usrModifiedDttm;
  141. }
  142. }
  143.  
  144. import java.math.BigInteger;
  145.  
  146. import org.springframework.data.annotation.Id;
  147. import org.springframework.data.mongodb.core.mapping.Document;
  148.  
  149. @Document
  150. public class UserRole
  151. {
  152. @Id
  153. private BigInteger id;
  154.  
  155. private String uroName;
  156.  
  157. private String uroCode;
  158.  
  159. private String uroType;
  160.  
  161. private String uroCreatedDttm;
  162.  
  163. private String uroModifiedDttm;
  164.  
  165. public BigInteger getId() {
  166. return id;
  167. }
  168.  
  169. public void setId(BigInteger id) {
  170. this.id = id;
  171. }
  172.  
  173. public String getUroName() {
  174. return uroName;
  175. }
  176.  
  177. public void setUroName(String uroName) {
  178. this.uroName = uroName;
  179. }
  180.  
  181. public String getUroCode() {
  182. return uroCode;
  183. }
  184.  
  185. public void setUroCode(String uroCode) {
  186. this.uroCode = uroCode;
  187. }
  188.  
  189. public String getUroType() {
  190. return uroType;
  191. }
  192.  
  193. public void setUroType(String uroType) {
  194. this.uroType = uroType;
  195. }
  196.  
  197. public String getUroCreatedDttm() {
  198. return uroCreatedDttm;
  199. }
  200.  
  201. public void setUroCreatedDttm(String uroCreatedDttm) {
  202. this.uroCreatedDttm = uroCreatedDttm;
  203. }
  204.  
  205. public String getUroModifiedDttm() {
  206. return uroModifiedDttm;
  207. }
  208.  
  209. public void setUroModifiedDttm(String uroModifiedDttm) {
  210. this.uroModifiedDttm = uroModifiedDttm;
  211. }
  212. }
  213.  
  214. import org.springframework.beans.factory.annotation.Autowired;
  215. import org.springframework.context.annotation.Bean;
  216. import org.springframework.context.annotation.Configuration;
  217. import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
  218. import org.springframework.security.config.annotation.web.builders.HttpSecurity;
  219. import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
  220. import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
  221. import org.springframework.security.core.authority.AuthorityUtils;
  222. import org.springframework.security.core.userdetails.User;
  223. import org.springframework.security.core.userdetails.UserDetails;
  224. import org.springframework.security.core.userdetails.UserDetailsService;
  225. import org.springframework.security.core.userdetails.UsernameNotFoundException;
  226. import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
  227.  
  228. @Configuration
  229. @EnableWebSecurity
  230. public class WebSecurityConfig extends WebSecurityConfigurerAdapter
  231. {
  232. private UserRepository userRepository;
  233.  
  234. private BCryptPasswordEncoder bCryptPasswordEncoder;
  235.  
  236. private UserRoleRepository userRoleRepository;
  237.  
  238. @Autowired
  239. public void setUserRoleRepository(UserRoleRepository userRoleRepository)
  240. {
  241. this.userRoleRepository = userRoleRepository;
  242. }
  243.  
  244. @Autowired
  245. public void setUserRepository(UserRepository userRepository)
  246. {
  247. this.userRepository = userRepository;
  248. }
  249.  
  250. @Autowired
  251. public void setbCryptPasswordEncoder(BCryptPasswordEncoder bCryptPasswordEncoder)
  252. {
  253. this.bCryptPasswordEncoder = bCryptPasswordEncoder;
  254. }
  255.  
  256.  
  257. @Bean
  258. public BCryptPasswordEncoder passwordEncoder(){
  259. BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
  260. return bCryptPasswordEncoder;
  261. }
  262.  
  263. @Bean
  264. protected
  265. UserDetailsService userDetailsService() {
  266. return new UserDetailsService() {
  267.  
  268. @Override
  269. public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
  270. UserTbl user = userRepository.findUserByEmail(username);
  271. if (user != null) {
  272. return new User(user.getEmail(), user.getUsrPassword(), true, true, true, true,
  273. AuthorityUtils.createAuthorityList(userRoleRepository.findByUroName("Admin").getUroName()));
  274. } else {
  275. throw new UsernameNotFoundException("could not find the user '"
  276. + username + "'");
  277. }
  278. }
  279.  
  280. };
  281. }
  282.  
  283. public void init(AuthenticationManagerBuilder auth) throws Exception
  284. {
  285. auth.userDetailsService(userDetailsService()).passwordEncoder(bCryptPasswordEncoder);
  286. }
  287.  
  288. @Override
  289. protected void configure(HttpSecurity http) throws Exception {
  290. http
  291. .authorizeRequests()
  292. .antMatchers("/resources/**", "/posts/**", "/users/**").permitAll()
  293. .anyRequest().authenticated()
  294. .and()
  295. .formLogin()
  296. .loginPage("/login")
  297. .permitAll()
  298. .and()
  299. .logout()
  300. .permitAll();
  301. }
  302.  
  303. }
  304.  
  305. {
  306. "timestamp": "2018-03-31T16:18:40.791+0000",
  307. "status": 404,
  308. "error": "Not Found",
  309. "message": "No message available",
  310. "path": "/login"
  311. }
Add Comment
Please, Sign In to add comment