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.authentication.CasAuthenticationProvider;
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.SecurityContextLogoutHandler;
@ -62,10 +64,11 @@ public class CasSecuredApplication {
CasAuthenticationProvider provider = new CasAuthenticationProvider();
provider.setServiceProperties(serviceProperties);
provider.setTicketValidator(ticketValidator);
/* provider.setUserDetailsService(
provider.setUserDetailsService(
s -> new User("casuser", "Mellon", true, true, true, true,
AuthorityUtils.createAuthorityList("ROLE_ADMIN")));*/
provider.setUserDetailsService(getUser());
AuthorityUtils.createAuthorityList("ROLE_ADMIN")));
//For Authentication with a Database-backed UserDetailsService
//provider.setUserDetailsService(getUser());
provider.setKey("CAS_PROVIDER_LOCALHOST_8900");
return provider;
}

View File

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

View File

@ -5,7 +5,7 @@ import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class User {
public class CasUser {
@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.stereotype.Repository;
import com.baeldung.cassecuredapp.user.User;
@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
spring.freemarker.suffix=.ftl
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.username=root
spring.datasource.password=root1234
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#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.username=root
#spring.datasource.password=root
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver