JAVA-18764: Changes made for updating the code

This commit is contained in:
Bipinkumar27 2023-10-23 16:11:03 +05:30
parent 1071a07170
commit 199df44c7f
5 changed files with 21 additions and 19 deletions

View File

@ -12,6 +12,8 @@ import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.cas.ServiceProperties; import org.springframework.security.cas.ServiceProperties;
import org.springframework.security.cas.authentication.CasAuthenticationProvider; import org.springframework.security.cas.authentication.CasAuthenticationProvider;
import org.springframework.security.cas.web.CasAuthenticationFilter; import org.springframework.security.cas.web.CasAuthenticationFilter;
import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.web.authentication.logout.LogoutFilter; import org.springframework.security.web.authentication.logout.LogoutFilter;
import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler; import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler;
@ -62,10 +64,11 @@ public class CasSecuredApplication {
CasAuthenticationProvider provider = new CasAuthenticationProvider(); CasAuthenticationProvider provider = new CasAuthenticationProvider();
provider.setServiceProperties(serviceProperties); provider.setServiceProperties(serviceProperties);
provider.setTicketValidator(ticketValidator); provider.setTicketValidator(ticketValidator);
/* provider.setUserDetailsService( provider.setUserDetailsService(
s -> new User("casuser", "Mellon", true, true, true, true, s -> new User("casuser", "Mellon", true, true, true, true,
AuthorityUtils.createAuthorityList("ROLE_ADMIN")));*/ AuthorityUtils.createAuthorityList("ROLE_ADMIN")));
provider.setUserDetailsService(getUser()); //For Authentication with a Database-backed UserDetailsService
//provider.setUserDetailsService(getUser());
provider.setKey("CAS_PROVIDER_LOCALHOST_8900"); provider.setKey("CAS_PROVIDER_LOCALHOST_8900");
return provider; return provider;
} }

View File

@ -4,11 +4,12 @@ import java.util.Collections;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.core.userdetails.UsernameNotFoundException;
import com.baeldung.cassecuredapp.user.User; import com.baeldung.cassecuredapp.user.CasUser;
import com.baeldung.cassecuredapp.user.UserRepository; import com.baeldung.cassecuredapp.user.UserRepository;
public class CasUserDetailsService implements UserDetailsService { public class CasUserDetailsService implements UserDetailsService {
@ -19,18 +20,18 @@ public class CasUserDetailsService implements UserDetailsService {
@Override @Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
// Get the user from the database. // Get the user from the database.
User user = getUserFromDatabase(username); CasUser casUser = getUserFromDatabase(username);
// Create a UserDetails object. // Create a UserDetails object.
UserDetails userDetails = new org.springframework.security.core.userdetails.User( UserDetails userDetails = new User(
user.getEmail(), casUser.getEmail(),
user.getPassword(), casUser.getPassword(),
Collections.singletonList(new SimpleGrantedAuthority("ROLE_ADMIN"))); Collections.singletonList(new SimpleGrantedAuthority("ROLE_ADMIN")));
return userDetails; return userDetails;
} }
private User getUserFromDatabase(String username) { private CasUser getUserFromDatabase(String username) {
return userRepository.findByEmail(username); return userRepository.findByEmail(username);
} }
} }

View File

@ -5,7 +5,7 @@ import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
@Entity @Entity
public class User { public class CasUser {
@Id @Id
private Long id; private Long id;

View File

@ -4,11 +4,9 @@ import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.baeldung.cassecuredapp.user.User;
@Repository @Repository
public interface UserRepository extends CrudRepository<User, Long> { public interface UserRepository extends CrudRepository<CasUser, Long> {
User findByEmail(@Param("email") String email); CasUser findByEmail(@Param("email") String email);
} }

View File

@ -1,8 +1,8 @@
server.port=8900 server.port=8900
spring.freemarker.suffix=.ftl spring.freemarker.suffix=.ftl
spring.jpa.generate-ddl=false #spring.jpa.generate-ddl=false
spring.datasource.url= jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC #spring.datasource.url= jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root #spring.datasource.username=root
spring.datasource.password=root1234 #spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver #spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver