Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.joda.time.DateTime;
- import org.springframework.boot.CommandLineRunner;
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- import org.springframework.context.annotation.Bean;
- @SpringBootApplication
- public class WebApplication {
- public static void main(String[] args) {
- SpringApplication.run(WebApplication.class, args);
- }
- @Bean
- CommandLineRunner init(final UserRepository userRepository, final UserRoleRepository userRoleRepository) {
- return new CommandLineRunner() {
- @Override
- public void run(String... arg0) throws Exception {
- UserRole usRole = new UserRole();
- usRole.setUroName("Admin");
- usRole.setUroCode("admin");
- usRole.setUroType("admin");
- usRole.setUroCreatedDttm(new DateTime().toString());
- userRoleRepository.save(usRole);
- UserTbl userTbl = new UserTbl();
- userTbl.setEmail("ganeshsagar58@gmail.com");
- userTbl.setUsrPassword("c0b137fe2d792459f26ff763cce44574a5b5ab03");
- userTbl.setFirstName("Ganesh");
- userTbl.setLastName("Bhagavath");
- UserRole userRole = userRoleRepository.findByUroName("Admin");
- userTbl.setUro(userRole);
- userRepository.save(userTbl);
- }
- };
- }
- }
- import java.math.BigInteger;
- import javax.validation.constraints.Email;
- import javax.validation.constraints.NotNull;
- import javax.validation.constraints.Size;
- import org.joda.time.DateTime;
- import org.springframework.data.annotation.Id;
- import org.springframework.data.mongodb.core.mapping.DBRef;
- import org.springframework.data.mongodb.core.mapping.Document;
- @Document
- public class UserTbl
- {
- @Id
- private BigInteger id;
- @DBRef
- private UserRole uro;
- @NotNull
- @Size(min=2, max =30)
- private String firstName;
- @NotNull
- @Size(min=2, max =30)
- private String lastName;
- @NotNull
- @Email
- private String email;
- @NotNull
- private String usrPassword;
- private DateTime usrCreatedDttm;
- private DateTime usrModifiedDttm;
- public BigInteger getId() {
- return id;
- }
- public void setId(BigInteger id) {
- this.id = id;
- }
- public UserRole getUro() {
- return uro;
- }
- public void setUro(UserRole uro) {
- this.uro = uro;
- }
- public String getFirstName() {
- return firstName;
- }
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
- public String getLastName() {
- return lastName;
- }
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- public String getUsrPassword() {
- return usrPassword;
- }
- public void setUsrPassword(String usrPassword) {
- this.usrPassword = usrPassword;
- }
- public DateTime getUsrCreatedDttm() {
- return usrCreatedDttm;
- }
- public void setUsrCreatedDttm(DateTime usrCreatedDttm) {
- this.usrCreatedDttm = usrCreatedDttm;
- }
- public DateTime getUsrModifiedDttm() {
- return usrModifiedDttm;
- }
- public void setUsrModifiedDttm(DateTime usrModifiedDttm) {
- this.usrModifiedDttm = usrModifiedDttm;
- }
- }
- import java.math.BigInteger;
- import org.springframework.data.annotation.Id;
- import org.springframework.data.mongodb.core.mapping.Document;
- @Document
- public class UserRole
- {
- @Id
- private BigInteger id;
- private String uroName;
- private String uroCode;
- private String uroType;
- private String uroCreatedDttm;
- private String uroModifiedDttm;
- public BigInteger getId() {
- return id;
- }
- public void setId(BigInteger id) {
- this.id = id;
- }
- public String getUroName() {
- return uroName;
- }
- public void setUroName(String uroName) {
- this.uroName = uroName;
- }
- public String getUroCode() {
- return uroCode;
- }
- public void setUroCode(String uroCode) {
- this.uroCode = uroCode;
- }
- public String getUroType() {
- return uroType;
- }
- public void setUroType(String uroType) {
- this.uroType = uroType;
- }
- public String getUroCreatedDttm() {
- return uroCreatedDttm;
- }
- public void setUroCreatedDttm(String uroCreatedDttm) {
- this.uroCreatedDttm = uroCreatedDttm;
- }
- public String getUroModifiedDttm() {
- return uroModifiedDttm;
- }
- public void setUroModifiedDttm(String uroModifiedDttm) {
- this.uroModifiedDttm = uroModifiedDttm;
- }
- }
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
- import org.springframework.security.config.annotation.web.builders.HttpSecurity;
- import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
- import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
- import org.springframework.security.core.authority.AuthorityUtils;
- import org.springframework.security.core.userdetails.User;
- import org.springframework.security.core.userdetails.UserDetails;
- import org.springframework.security.core.userdetails.UserDetailsService;
- import org.springframework.security.core.userdetails.UsernameNotFoundException;
- import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
- @Configuration
- @EnableWebSecurity
- public class WebSecurityConfig extends WebSecurityConfigurerAdapter
- {
- private UserRepository userRepository;
- private BCryptPasswordEncoder bCryptPasswordEncoder;
- private UserRoleRepository userRoleRepository;
- @Autowired
- public void setUserRoleRepository(UserRoleRepository userRoleRepository)
- {
- this.userRoleRepository = userRoleRepository;
- }
- @Autowired
- public void setUserRepository(UserRepository userRepository)
- {
- this.userRepository = userRepository;
- }
- @Autowired
- public void setbCryptPasswordEncoder(BCryptPasswordEncoder bCryptPasswordEncoder)
- {
- this.bCryptPasswordEncoder = bCryptPasswordEncoder;
- }
- @Bean
- public BCryptPasswordEncoder passwordEncoder(){
- BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
- return bCryptPasswordEncoder;
- }
- @Bean
- protected
- UserDetailsService userDetailsService() {
- return new UserDetailsService() {
- @Override
- public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
- UserTbl user = userRepository.findUserByEmail(username);
- if (user != null) {
- return new User(user.getEmail(), user.getUsrPassword(), true, true, true, true,
- AuthorityUtils.createAuthorityList(userRoleRepository.findByUroName("Admin").getUroName()));
- } else {
- throw new UsernameNotFoundException("could not find the user '"
- + username + "'");
- }
- }
- };
- }
- public void init(AuthenticationManagerBuilder auth) throws Exception
- {
- auth.userDetailsService(userDetailsService()).passwordEncoder(bCryptPasswordEncoder);
- }
- @Override
- protected void configure(HttpSecurity http) throws Exception {
- http
- .authorizeRequests()
- .antMatchers("/resources/**", "/posts/**", "/users/**").permitAll()
- .anyRequest().authenticated()
- .and()
- .formLogin()
- .loginPage("/login")
- .permitAll()
- .and()
- .logout()
- .permitAll();
- }
- }
- {
- "timestamp": "2018-03-31T16:18:40.791+0000",
- "status": 404,
- "error": "Not Found",
- "message": "No message available",
- "path": "/login"
- }
Add Comment
Please, Sign In to add comment