Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- jsp에러
- js구구단
- springboot
- git stah
- IAM 결제
- AWS요금
- 소켓통신
- web browser external
- html사용자함수
- jsNature
- javasecurity
- AWS경보
- IP통신
- hit desktop
- C++
- AWS사용자
- JPA
- servlet에러
- MFC
- aws
- 깃헙 데스크탑
- Update
- hmlt
- TCP/IP
- bootstrap
- 오라클 c##제거
- html주문폼
- AWS 청구
- oracle 18
- SpringToolSuite4
Archives
- Today
- Total
Ynns
페이지 로그인 시 접속한 브라우저 정보 log 저장 본문
** header 에서 브라우저 정보 가져오기
// SecurityConfig.java
@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
Authentication authentication) throws IOException, ServletException {
// 로그인 시 로그인 날짜 업데이트 & 접속 브라우저 기록
User user = (User) ((UserDetailImpl) authentication.getPrincipal()).getUser();
String username = user.getID();
String header = request.getHeader("User-Agent");
String browser = null;
if (header.contains("MSIE")) {
browser = "MSIE";
} else if (header.contains("Trident")) {
browser = "MSIE11";
} else if (header.contains("Chrome")) {
browser = "Chrome";
} else if (header.contains("Opera")) {
browser = "Opera";
} else if (header.contains("Firefox")) {
browser = "Firefox";
} else if (header.contains("Safari")) {
browser = "Safari";
}
System.out.println("browser = " + header);
userDetailsService.updateLoginDate(username);
userDetailsService.updateLoginBrowser(browser, username);
}
//UserDetailServiceImpl.java
@Service
public class UserDetailsServiceImpl implements UserDetailsService {
@Inject
private UserMapper userMapper;
@Inject
private LoginPolicyService loginPolicy;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
User user = userMapper.findByUsername(username);
if (null == user) {
throw new UsernameNotFoundException("Could not find the user " + username);
}
return new UserDetailImpl(user, this.loginPolicy);
}
public boolean updateLoginDate(String username) {
return userMapper.updateLoginDate(username);
}
public boolean updateLoginBrowser(String browser, String username) {
return userMapper.updateLoginBrowser(browser, username);
}
}
// Usermapper.java
...
@Update("UPDATE " + DEFAULT_TABLE + " SET loginDate = getDate() WHERE ID = #{username}")
public boolean updateLoginDate(String username);
@Update("UPDATE " + DEFAULT_TABLE + " SET Browser = #{browser} WHERE ID = #{username}")
public boolean updateLoginBrowser(@Param("browser") String browser, @Param("username") String username);
...
'JAVA > Spring' 카테고리의 다른 글
spring boot / jsp quote symbol expected 에러 해결 (0) | 2021.07.16 |
---|---|
Spring boot / SpringToolSuite4 / Emmet / lombok 개발환경 패치 및 설치 과정 (0) | 2021.07.13 |
spring security 프로젝트 (6) 중간 실행 (0) | 2019.11.26 |
spring security 프로젝트(5) 어노테이션 (0) | 2019.11.26 |
spring security 프로젝트(4) (0) | 2019.11.26 |
Comments