diff --git a/.classpath b/.classpath
index 99a4add8..da9dfd75 100644
--- a/.classpath
+++ b/.classpath
@@ -34,6 +34,5 @@
-
diff --git a/pom.xml b/pom.xml
index a54739b4..5206bb4a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -141,6 +141,18 @@
commons-httpclient
3.1
+
+
+ org.springframework
+ spring-core
+ ${spring.maven.artifact.version}
+
+
+
+ org.springframework
+ spring-expression
+ ${spring.maven.artifact.version}
+
@@ -155,8 +167,17 @@
-->
-
+
+
+ org.springframework.webflow
+ spring-faces
+ 2.4.1.RELEASE
+
org.springframework.security
spring-security-web
diff --git a/src/main/java/nlib/cmm/qrcode/QRCodeUtil.java b/src/main/java/nlib/cmm/qrcode/QRCodeUtil.java
index f0fbbac5..e2f3d6db 100644
--- a/src/main/java/nlib/cmm/qrcode/QRCodeUtil.java
+++ b/src/main/java/nlib/cmm/qrcode/QRCodeUtil.java
@@ -149,7 +149,6 @@ public class QRCodeUtil {
// (2) 앞의 (1)의 문자열을 암호화 처리
String cryptedBarcodeText = EgovFileScrty.encodeBinary(barcodeText.getBytes());
log.debug("generateMemberQRCodeImage : cryptedBarcodeText=" + cryptedBarcodeText);
- loginVO.setOnnaraUserid(cryptedBarcodeText); // TODO 임시저장처리 DDDDDDDDDDDDDDDDDDDDDDD
// (3) 앞의 (2) 암호화 문자열로 QRCode 생성하여 BufferedImage형식으로 리턴
return generateQRCodeImageByZxing(cryptedBarcodeText);
diff --git a/src/main/java/nlib/security/SpringSecurityConfig.java b/src/main/java/nlib/security/SpringSecurityConfig.java
index dbc0d02a..eab90855 100644
--- a/src/main/java/nlib/security/SpringSecurityConfig.java
+++ b/src/main/java/nlib/security/SpringSecurityConfig.java
@@ -45,6 +45,8 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(WebSecurity web) throws Exception {
+
+ // 권한/인증과 무관한 오픈된 정적 리소트
web.ignoring()
.antMatchers("/resources/**")
.antMatchers("/css/**")
@@ -52,13 +54,6 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/js/**")
.antMatchers("/temp/**")
.antMatchers("/favicon/**")
- .antMatchers("/*/*Ajax.do")
- .antMatchers("/fileupload/**")
- .antMatchers("/board/**")
- .antMatchers("/inform/**")
- .antMatchers("/alert/**")
- .antMatchers("/code/**")
- .antMatchers("/**")
;
}
@@ -82,6 +77,12 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/rent/*.do").permitAll()
.antMatchers("/collection/*.do").permitAll()
.antMatchers("/sample/password/getSampleEncoder.do").permitAll()
+ .antMatchers("/*/*Ajax.do").permitAll()
+ .antMatchers("/fileupload/**").permitAll()
+ .antMatchers("/board/**").permitAll()
+ .antMatchers("/inform/**").permitAll()
+ .antMatchers("/alert/**").permitAll()
+ .antMatchers("/code/**").permitAll()
.anyRequest().authenticated()
.and().formLogin()
.loginPage("/login/loginForm.do")
diff --git a/src/main/java/nlib/user/service/NlibLoginVO.java b/src/main/java/nlib/user/service/NlibLoginVO.java
index 6b2f065c..6dfa17d7 100644
--- a/src/main/java/nlib/user/service/NlibLoginVO.java
+++ b/src/main/java/nlib/user/service/NlibLoginVO.java
@@ -36,35 +36,19 @@ public class NlibLoginVO implements Serializable {
private String loginUserId; /* 로그인사용자ID (이메일주소) */
private String deptSeq; /* 조직코드 */
private String deptNm; /* 조직명 */
- private String userDiv; /* 사용자구분 */
private String userNm; /* 사용자명 */
private String userPwd; /* 비밀번호 */
- private String posNm; /* 직위 */
- private String rank; /* 직급 */
- private String workFlag; /* 근무여부 */
private String telNo; /* 전화번호 */
private String zipcode; /* 우편번호 (변경예정) */
private String addr1; /* 주소1 (변경예정) */
private String addr2; /* 주소2 (변경예정) */
- private String strtMenuSeq; /* 시작페이지 */
- private String idCardChkYn; /* 신분증 확인여부 */
- private String useYn; /* 사용여부 */
- private String ssoFlag; /* 시스템구분(1:기록관리,2:기관배치) */
- private String loginErrorCnt; /* 로그인오류건수 */
- private String onnaraUserid; /* 온나라사용자아이디(웹서비스용) */
- private String pkiNameCheck; /* 인증서 등록시 이름 체크 구분 */
- private String ssoKey; /* SSO 인증KEY (SSO를 위한 사용자의 KEY값) */
+ private String status; /* 상태 : S정상, D탈퇴, P휴면 */
private String regId; /* 등록자 */
private String regDd; /* 등록일자 */
private String modId; /* 수정자 */
private String modDd; /* 수정일자 */
private String email; /* 이메일 */
private String mobileNo; /* 모바일 */
- private String websiteAddr; /* 웹사이트 */
- private String facebookId; /* 페이스북아이디 */
- private String twitterId; /* 트위터아이디 */
- private String googleId; /* 구글플러스아이디 */
- private String boardRowCnt; /* 글목록수 */
private String birthdate; /* 생년월일 */
private String gender; /* 성별(M:남자,F:여자) */
@@ -98,9 +82,11 @@ public class NlibLoginVO implements Serializable {
return this.authKey;
}
+
//----------------------------------------------------------------
// SETTER.GETTER
//----------------------------------------------------------------
+
public String getUserId() {
return userId;
}
@@ -125,18 +111,22 @@ public class NlibLoginVO implements Serializable {
this.deptSeq = deptSeq;
}
- public String getUserDiv() {
- return userDiv;
+ public String getDeptNm() {
+ return deptNm;
}
- public void setUserDiv(String userDiv) {
- this.userDiv = userDiv;
+ public void setDeptNm(String deptNm) {
+ this.deptNm = deptNm;
}
public String getUserNm() {
return userNm;
}
+ public String getName() {
+ return userNm;
+ }
+
public void setUserNm(String userNm) {
this.userNm = userNm;
}
@@ -149,30 +139,6 @@ public class NlibLoginVO implements Serializable {
this.userPwd = userPwd;
}
- public String getPosNm() {
- return posNm;
- }
-
- public void setPosNm(String posNm) {
- this.posNm = posNm;
- }
-
- public String getRank() {
- return rank;
- }
-
- public void setRank(String rank) {
- this.rank = rank;
- }
-
- public String getWorkFlag() {
- return workFlag;
- }
-
- public void setWorkFlag(String workFlag) {
- this.workFlag = workFlag;
- }
-
public String getTelNo() {
return telNo;
}
@@ -205,68 +171,12 @@ public class NlibLoginVO implements Serializable {
this.addr2 = addr2;
}
- public String getStrtMenuSeq() {
- return strtMenuSeq;
+ public String getStatus() {
+ return status;
}
- public void setStrtMenuSeq(String strtMenuSeq) {
- this.strtMenuSeq = strtMenuSeq;
- }
-
- public String getIdCardChkYn() {
- return idCardChkYn;
- }
-
- public void setIdCardChkYn(String idCardChkYn) {
- this.idCardChkYn = idCardChkYn;
- }
-
- public String getUseYn() {
- return useYn;
- }
-
- public void setUseYn(String useYn) {
- this.useYn = useYn;
- }
-
- public String getSsoFlag() {
- return ssoFlag;
- }
-
- public void setSsoFlag(String ssoFlag) {
- this.ssoFlag = ssoFlag;
- }
-
- public String getLoginErrorCnt() {
- return loginErrorCnt;
- }
-
- public void setLoginErrorCnt(String loginErrorCnt) {
- this.loginErrorCnt = loginErrorCnt;
- }
-
- public String getOnnaraUserid() {
- return onnaraUserid;
- }
-
- public void setOnnaraUserid(String onnaraUserid) {
- this.onnaraUserid = onnaraUserid;
- }
-
- public String getPkiNameCheck() {
- return pkiNameCheck;
- }
-
- public void setPkiNameCheck(String pkiNameCheck) {
- this.pkiNameCheck = pkiNameCheck;
- }
-
- public String getSsoKey() {
- return ssoKey;
- }
-
- public void setSsoKey(String ssoKey) {
- this.ssoKey = ssoKey;
+ public void setStatus(String status) {
+ this.status = status;
}
public String getRegId() {
@@ -317,55 +227,6 @@ public class NlibLoginVO implements Serializable {
this.mobileNo = mobileNo;
}
- public String getWebsiteAddr() {
- return websiteAddr;
- }
-
- public void setWebsiteAddr(String websiteAddr) {
- this.websiteAddr = websiteAddr;
- }
-
- public String getFacebookId() {
- return facebookId;
- }
-
- public void setFacebookId(String facebookId) {
- this.facebookId = facebookId;
- }
-
- public String getTwitterId() {
- return twitterId;
- }
-
- public void setTwitterId(String twitterId) {
- this.twitterId = twitterId;
- }
-
- public String getGoogleId() {
- return googleId;
- }
-
- public void setGoogleId(String googleId) {
- this.googleId = googleId;
- }
-
- public String getBoardRowCnt() {
- return boardRowCnt;
- }
-
- public void setBoardRowCnt(String boardRowCnt) {
- this.boardRowCnt = boardRowCnt;
- }
-
- public String getAuthKey() {
-
- return authKey;
- }
-
- public void setAuthKey(String authKey) {
- this.authKey = authKey;
- }
-
public String getBirthdate() {
return birthdate;
}
@@ -382,20 +243,12 @@ public class NlibLoginVO implements Serializable {
this.gender = gender;
}
- public String getDeptNm() {
- return deptNm;
+ public String getAuthKey() {
+ return authKey;
}
- public void setDeptNm(String deptNm) {
- this.deptNm = deptNm;
- }
-
- public String getAccIp() {
- return accIp;
- }
-
- public void setAccIp(String accIp) {
- this.accIp = accIp;
+ public void setAuthKey(String authKey) {
+ this.authKey = authKey;
}
public String getLoginSucsYn() {
@@ -406,6 +259,14 @@ public class NlibLoginVO implements Serializable {
this.loginSucsYn = loginSucsYn;
}
+ public String getAccIp() {
+ return accIp;
+ }
+
+ public void setAccIp(String accIp) {
+ this.accIp = accIp;
+ }
+
public String getAuthorityList() {
return authorityList;
}
diff --git a/src/main/java/nlib/user/service/impl/LoginDAO.java b/src/main/java/nlib/user/service/impl/LoginDAO.java
index 86a1d1de..81cc39c1 100644
--- a/src/main/java/nlib/user/service/impl/LoginDAO.java
+++ b/src/main/java/nlib/user/service/impl/LoginDAO.java
@@ -24,7 +24,7 @@ public class LoginDAO extends EgovComAbstractDAO {
}
public void insertLoginLog(NlibLoginVO userVO) {
- insert("BBSArticle.insertLoginLog", userVO);
+ insert("LoginDAO.insertLoginLog", userVO);
}
}
\ No newline at end of file
diff --git a/src/main/java/nlib/user/service/impl/LoginServiceImpl.java b/src/main/java/nlib/user/service/impl/LoginServiceImpl.java
index 5e6b70fe..aec851e7 100644
--- a/src/main/java/nlib/user/service/impl/LoginServiceImpl.java
+++ b/src/main/java/nlib/user/service/impl/LoginServiceImpl.java
@@ -110,12 +110,16 @@ public class LoginServiceImpl implements LoginService
loginDAO.insertLoginLog(userVO);
} catch (DisabledException e) {
+ e.printStackTrace();
return "/login/loginForm.do?error=locked";
} catch (LockedException e) {
+ e.printStackTrace();
return "/login/loginForm.do?error=disable";
} catch (BadCredentialsException e) {
+ e.printStackTrace();
return "/login/loginForm.do?error=invalid-password";
} catch (Exception e) {
+ e.printStackTrace();
return "/login/loginForm.do?error=other&message=" + e.toString();
}
diff --git a/src/main/java/nlib/user/web/LoginController.java b/src/main/java/nlib/user/web/LoginController.java
index 65bbfd99..a058421a 100644
--- a/src/main/java/nlib/user/web/LoginController.java
+++ b/src/main/java/nlib/user/web/LoginController.java
@@ -120,14 +120,17 @@ public class LoginController {
* @return
*/
@RequestMapping("/login/loginForm.do")
- public String loginForm(HttpServletRequest req, @RequestParam(required = false) String error,
- @RequestParam(required = false) String logout, Model model, HttpSession session) {
- if (error != null) {
- model.addAttribute("error", String.format("ID와 비밀번호를 확인하여 주시기 바랍니다. %s", error));
- }
- if (logout != null) {
- model.addAttribute("logout", String.format("로그아웃하였습니다 %s", logout));
- }
+ public String loginForm(HttpServletRequest req,
+ @RequestParam(required = false) String error,
+ @RequestParam(required = false) String message,
+ @RequestParam(required = false) String logout,
+ Model model,
+ HttpSession session) {
+
+
+ model.addAttribute("error", error);
+ model.addAttribute("message", message);
+ model.addAttribute("logout", String.format("로그아웃하였습니다 %s", logout));
// SNS 연동 URL 생성
OAuthLogin naverLogin = new OAuthLogin(naverAuthVO);
diff --git a/src/main/resources/egovframework/mapper/config/mapper-config.xml b/src/main/resources/egovframework/mapper/config/mapper-config.xml
index 6a706d7f..03e9d61a 100644
--- a/src/main/resources/egovframework/mapper/config/mapper-config.xml
+++ b/src/main/resources/egovframework/mapper/config/mapper-config.xml
@@ -12,8 +12,9 @@
-
-
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/egovframework/mapper/nlib/user/LoginDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/user/LoginDAO_SQL.xml
index 4489e05f..5b325e2a 100644
--- a/src/main/resources/egovframework/mapper/nlib/user/LoginDAO_SQL.xml
+++ b/src/main/resources/egovframework/mapper/nlib/user/LoginDAO_SQL.xml
@@ -4,7 +4,7 @@
@@ -35,7 +35,7 @@
,#{deptSeq}
,#{deptNm}
,#{accIp}
- ,#{loginSucsYn}
+ ,'Y'
,NOW()
)
diff --git a/src/main/resources/egovframework/mapper/nlib/user/SecUserDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/user/SecUserDAO_SQL.xml
index 41dc45e3..81163423 100644
--- a/src/main/resources/egovframework/mapper/nlib/user/SecUserDAO_SQL.xml
+++ b/src/main/resources/egovframework/mapper/nlib/user/SecUserDAO_SQL.xml
@@ -3,7 +3,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/nlib/login/loginForm.jsp b/src/main/webapp/WEB-INF/jsp/nlib/login/loginForm.jsp
index 5cfc396e..06169234 100644
--- a/src/main/webapp/WEB-INF/jsp/nlib/login/loginForm.jsp
+++ b/src/main/webapp/WEB-INF/jsp/nlib/login/loginForm.jsp
@@ -49,6 +49,13 @@
+
+error : ${error }
+
+message : ${message }
+
+
+
diff --git a/src/main/webapp/WEB-INF/tiles/inc/header.jsp b/src/main/webapp/WEB-INF/tiles/inc/header.jsp
index 62502593..34168e53 100644
--- a/src/main/webapp/WEB-INF/tiles/inc/header.jsp
+++ b/src/main/webapp/WEB-INF/tiles/inc/header.jsp
@@ -11,7 +11,6 @@
개인정보처리방침
이용약관
- 로그인
로그인
@@ -26,8 +25,8 @@
-
-
+
+
${userName}님 (${userId})