로그인, SNS, SpringSecurity : DB연동 전환 처리 초기작업 완료
This commit is contained in:
parent
b98ed38065
commit
3cc150fc42
@ -34,6 +34,5 @@
|
|||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v8.5"/>
|
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v8.5"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
|
|
||||||
<classpathentry kind="output" path="target/classes"/>
|
<classpathentry kind="output" path="target/classes"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|||||||
23
pom.xml
23
pom.xml
@ -142,6 +142,18 @@
|
|||||||
<version>3.1</version>
|
<version>3.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-core</artifactId>
|
||||||
|
<version>${spring.maven.artifact.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework</groupId>
|
||||||
|
<artifactId>spring-expression</artifactId>
|
||||||
|
<version>${spring.maven.artifact.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- fileupload -->
|
<!-- fileupload -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-fileupload</groupId>
|
<groupId>commons-fileupload</groupId>
|
||||||
@ -155,8 +167,17 @@
|
|||||||
</exclusions> -->
|
</exclusions> -->
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
<!-- Spring Security -->
|
<!-- Spring Security -->
|
||||||
|
<!-- <dependency>
|
||||||
|
<groupId>org.springframework.webflow</groupId>
|
||||||
|
<artifactId>spring-webflow</artifactId>
|
||||||
|
<version>2.5.0.RELEASE</version>
|
||||||
|
</dependency> -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.webflow</groupId>
|
||||||
|
<artifactId>spring-faces</artifactId>
|
||||||
|
<version>2.4.1.RELEASE</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.security</groupId>
|
<groupId>org.springframework.security</groupId>
|
||||||
<artifactId>spring-security-web</artifactId>
|
<artifactId>spring-security-web</artifactId>
|
||||||
|
|||||||
@ -149,7 +149,6 @@ public class QRCodeUtil {
|
|||||||
// (2) 앞의 (1)의 문자열을 암호화 처리
|
// (2) 앞의 (1)의 문자열을 암호화 처리
|
||||||
String cryptedBarcodeText = EgovFileScrty.encodeBinary(barcodeText.getBytes());
|
String cryptedBarcodeText = EgovFileScrty.encodeBinary(barcodeText.getBytes());
|
||||||
log.debug("generateMemberQRCodeImage : cryptedBarcodeText=" + cryptedBarcodeText);
|
log.debug("generateMemberQRCodeImage : cryptedBarcodeText=" + cryptedBarcodeText);
|
||||||
loginVO.setOnnaraUserid(cryptedBarcodeText); // TODO 임시저장처리 DDDDDDDDDDDDDDDDDDDDDDD
|
|
||||||
|
|
||||||
// (3) 앞의 (2) 암호화 문자열로 QRCode 생성하여 BufferedImage형식으로 리턴
|
// (3) 앞의 (2) 암호화 문자열로 QRCode 생성하여 BufferedImage형식으로 리턴
|
||||||
return generateQRCodeImageByZxing(cryptedBarcodeText);
|
return generateQRCodeImageByZxing(cryptedBarcodeText);
|
||||||
|
|||||||
@ -45,6 +45,8 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configure(WebSecurity web) throws Exception {
|
public void configure(WebSecurity web) throws Exception {
|
||||||
|
|
||||||
|
// 권한/인증과 무관한 오픈된 정적 리소트
|
||||||
web.ignoring()
|
web.ignoring()
|
||||||
.antMatchers("/resources/**")
|
.antMatchers("/resources/**")
|
||||||
.antMatchers("/css/**")
|
.antMatchers("/css/**")
|
||||||
@ -52,13 +54,6 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
|
|||||||
.antMatchers("/js/**")
|
.antMatchers("/js/**")
|
||||||
.antMatchers("/temp/**")
|
.antMatchers("/temp/**")
|
||||||
.antMatchers("/favicon/**")
|
.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("/rent/*.do").permitAll()
|
||||||
.antMatchers("/collection/*.do").permitAll()
|
.antMatchers("/collection/*.do").permitAll()
|
||||||
.antMatchers("/sample/password/getSampleEncoder.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()
|
.anyRequest().authenticated()
|
||||||
.and().formLogin()
|
.and().formLogin()
|
||||||
.loginPage("/login/loginForm.do")
|
.loginPage("/login/loginForm.do")
|
||||||
|
|||||||
@ -36,35 +36,19 @@ public class NlibLoginVO implements Serializable {
|
|||||||
private String loginUserId; /* 로그인사용자ID (이메일주소) */
|
private String loginUserId; /* 로그인사용자ID (이메일주소) */
|
||||||
private String deptSeq; /* 조직코드 */
|
private String deptSeq; /* 조직코드 */
|
||||||
private String deptNm; /* 조직명 */
|
private String deptNm; /* 조직명 */
|
||||||
private String userDiv; /* 사용자구분 */
|
|
||||||
private String userNm; /* 사용자명 */
|
private String userNm; /* 사용자명 */
|
||||||
private String userPwd; /* 비밀번호 */
|
private String userPwd; /* 비밀번호 */
|
||||||
private String posNm; /* 직위 */
|
|
||||||
private String rank; /* 직급 */
|
|
||||||
private String workFlag; /* 근무여부 */
|
|
||||||
private String telNo; /* 전화번호 */
|
private String telNo; /* 전화번호 */
|
||||||
private String zipcode; /* 우편번호 (변경예정) */
|
private String zipcode; /* 우편번호 (변경예정) */
|
||||||
private String addr1; /* 주소1 (변경예정) */
|
private String addr1; /* 주소1 (변경예정) */
|
||||||
private String addr2; /* 주소2 (변경예정) */
|
private String addr2; /* 주소2 (변경예정) */
|
||||||
private String strtMenuSeq; /* 시작페이지 */
|
private String status; /* 상태 : S정상, D탈퇴, P휴면 */
|
||||||
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 regId; /* 등록자 */
|
private String regId; /* 등록자 */
|
||||||
private String regDd; /* 등록일자 */
|
private String regDd; /* 등록일자 */
|
||||||
private String modId; /* 수정자 */
|
private String modId; /* 수정자 */
|
||||||
private String modDd; /* 수정일자 */
|
private String modDd; /* 수정일자 */
|
||||||
private String email; /* 이메일 */
|
private String email; /* 이메일 */
|
||||||
private String mobileNo; /* 모바일 */
|
private String mobileNo; /* 모바일 */
|
||||||
private String websiteAddr; /* 웹사이트 */
|
|
||||||
private String facebookId; /* 페이스북아이디 */
|
|
||||||
private String twitterId; /* 트위터아이디 */
|
|
||||||
private String googleId; /* 구글플러스아이디 */
|
|
||||||
private String boardRowCnt; /* 글목록수 */
|
|
||||||
|
|
||||||
private String birthdate; /* 생년월일 */
|
private String birthdate; /* 생년월일 */
|
||||||
private String gender; /* 성별(M:남자,F:여자) */
|
private String gender; /* 성별(M:남자,F:여자) */
|
||||||
@ -98,9 +82,11 @@ public class NlibLoginVO implements Serializable {
|
|||||||
return this.authKey;
|
return this.authKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------
|
//----------------------------------------------------------------
|
||||||
// SETTER.GETTER
|
// SETTER.GETTER
|
||||||
//----------------------------------------------------------------
|
//----------------------------------------------------------------
|
||||||
|
|
||||||
public String getUserId() {
|
public String getUserId() {
|
||||||
return userId;
|
return userId;
|
||||||
}
|
}
|
||||||
@ -125,18 +111,22 @@ public class NlibLoginVO implements Serializable {
|
|||||||
this.deptSeq = deptSeq;
|
this.deptSeq = deptSeq;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getUserDiv() {
|
public String getDeptNm() {
|
||||||
return userDiv;
|
return deptNm;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUserDiv(String userDiv) {
|
public void setDeptNm(String deptNm) {
|
||||||
this.userDiv = userDiv;
|
this.deptNm = deptNm;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getUserNm() {
|
public String getUserNm() {
|
||||||
return userNm;
|
return userNm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return userNm;
|
||||||
|
}
|
||||||
|
|
||||||
public void setUserNm(String userNm) {
|
public void setUserNm(String userNm) {
|
||||||
this.userNm = userNm;
|
this.userNm = userNm;
|
||||||
}
|
}
|
||||||
@ -149,30 +139,6 @@ public class NlibLoginVO implements Serializable {
|
|||||||
this.userPwd = userPwd;
|
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() {
|
public String getTelNo() {
|
||||||
return telNo;
|
return telNo;
|
||||||
}
|
}
|
||||||
@ -205,68 +171,12 @@ public class NlibLoginVO implements Serializable {
|
|||||||
this.addr2 = addr2;
|
this.addr2 = addr2;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getStrtMenuSeq() {
|
public String getStatus() {
|
||||||
return strtMenuSeq;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setStrtMenuSeq(String strtMenuSeq) {
|
public void setStatus(String status) {
|
||||||
this.strtMenuSeq = strtMenuSeq;
|
this.status = status;
|
||||||
}
|
|
||||||
|
|
||||||
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 String getRegId() {
|
public String getRegId() {
|
||||||
@ -317,55 +227,6 @@ public class NlibLoginVO implements Serializable {
|
|||||||
this.mobileNo = mobileNo;
|
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() {
|
public String getBirthdate() {
|
||||||
return birthdate;
|
return birthdate;
|
||||||
}
|
}
|
||||||
@ -382,20 +243,12 @@ public class NlibLoginVO implements Serializable {
|
|||||||
this.gender = gender;
|
this.gender = gender;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDeptNm() {
|
public String getAuthKey() {
|
||||||
return deptNm;
|
return authKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDeptNm(String deptNm) {
|
public void setAuthKey(String authKey) {
|
||||||
this.deptNm = deptNm;
|
this.authKey = authKey;
|
||||||
}
|
|
||||||
|
|
||||||
public String getAccIp() {
|
|
||||||
return accIp;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAccIp(String accIp) {
|
|
||||||
this.accIp = accIp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLoginSucsYn() {
|
public String getLoginSucsYn() {
|
||||||
@ -406,6 +259,14 @@ public class NlibLoginVO implements Serializable {
|
|||||||
this.loginSucsYn = loginSucsYn;
|
this.loginSucsYn = loginSucsYn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getAccIp() {
|
||||||
|
return accIp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAccIp(String accIp) {
|
||||||
|
this.accIp = accIp;
|
||||||
|
}
|
||||||
|
|
||||||
public String getAuthorityList() {
|
public String getAuthorityList() {
|
||||||
return authorityList;
|
return authorityList;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,7 +24,7 @@ public class LoginDAO extends EgovComAbstractDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void insertLoginLog(NlibLoginVO userVO) {
|
public void insertLoginLog(NlibLoginVO userVO) {
|
||||||
insert("BBSArticle.insertLoginLog", userVO);
|
insert("LoginDAO.insertLoginLog", userVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -110,12 +110,16 @@ public class LoginServiceImpl implements LoginService
|
|||||||
loginDAO.insertLoginLog(userVO);
|
loginDAO.insertLoginLog(userVO);
|
||||||
|
|
||||||
} catch (DisabledException e) {
|
} catch (DisabledException e) {
|
||||||
|
e.printStackTrace();
|
||||||
return "/login/loginForm.do?error=locked";
|
return "/login/loginForm.do?error=locked";
|
||||||
} catch (LockedException e) {
|
} catch (LockedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
return "/login/loginForm.do?error=disable";
|
return "/login/loginForm.do?error=disable";
|
||||||
} catch (BadCredentialsException e) {
|
} catch (BadCredentialsException e) {
|
||||||
|
e.printStackTrace();
|
||||||
return "/login/loginForm.do?error=invalid-password";
|
return "/login/loginForm.do?error=invalid-password";
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
return "/login/loginForm.do?error=other&message=" + e.toString();
|
return "/login/loginForm.do?error=other&message=" + e.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -120,14 +120,17 @@ public class LoginController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@RequestMapping("/login/loginForm.do")
|
@RequestMapping("/login/loginForm.do")
|
||||||
public String loginForm(HttpServletRequest req, @RequestParam(required = false) String error,
|
public String loginForm(HttpServletRequest req,
|
||||||
@RequestParam(required = false) String logout, Model model, HttpSession session) {
|
@RequestParam(required = false) String error,
|
||||||
if (error != null) {
|
@RequestParam(required = false) String message,
|
||||||
model.addAttribute("error", String.format("ID와 비밀번호를 확인하여 주시기 바랍니다. %s", error));
|
@RequestParam(required = false) String logout,
|
||||||
}
|
Model model,
|
||||||
if (logout != null) {
|
HttpSession session) {
|
||||||
|
|
||||||
|
|
||||||
|
model.addAttribute("error", error);
|
||||||
|
model.addAttribute("message", message);
|
||||||
model.addAttribute("logout", String.format("로그아웃하였습니다 %s", logout));
|
model.addAttribute("logout", String.format("로그아웃하였습니다 %s", logout));
|
||||||
}
|
|
||||||
|
|
||||||
// SNS 연동 URL 생성
|
// SNS 연동 URL 생성
|
||||||
OAuthLogin naverLogin = new OAuthLogin(naverAuthVO);
|
OAuthLogin naverLogin = new OAuthLogin(naverAuthVO);
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
<typeAliases>
|
<typeAliases>
|
||||||
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap" />
|
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap" />
|
||||||
<typeAlias alias="NlibLoginVO" type="nlib.user.service.NlibLoginVO" />
|
<typeAlias alias="NlibLoginVO" type="nlib.user.service.NlibLoginVO" />
|
||||||
|
<typeAlias alias="SecUserVO" type="nlib.security.SecUserVO" />
|
||||||
</typeAliases>
|
</typeAliases>
|
||||||
|
|
||||||
</configuration>
|
</configuration>
|
||||||
@ -4,7 +4,7 @@
|
|||||||
<mapper namespace="LoginDAO">
|
<mapper namespace="LoginDAO">
|
||||||
|
|
||||||
<select id="selectLoginUserInfo" parameterType="String" resultType="NlibLoginVO">
|
<select id="selectLoginUserInfo" parameterType="String" resultType="NlibLoginVO">
|
||||||
SELECT A.*, B.SNS_DIV, B.SNS_USER_ID, SNS_LOGIN_ID, SSO_REG_DT
|
SELECT A.*, B.SNS_DIV, B.SNS_USER_ID, SNS_LOGIN_ID, SSO_REG_DT,
|
||||||
CASE WHEN A.USER_DIV = '1' THEN 'ROLE_USER'
|
CASE WHEN A.USER_DIV = '1' THEN 'ROLE_USER'
|
||||||
WHEN A.USER_DIV = '2' THEN 'ROLE_USER, ROLE_ADMIN'
|
WHEN A.USER_DIV = '2' THEN 'ROLE_USER, ROLE_ADMIN'
|
||||||
WHEN A.USER_DIV = '3' THEN 'ROLE_USER, ROLE_ADMIN, ROLE_SYSTEM'
|
WHEN A.USER_DIV = '3' THEN 'ROLE_USER, ROLE_ADMIN, ROLE_SYSTEM'
|
||||||
@ -17,7 +17,7 @@
|
|||||||
AND B.SNS_DIV = 'N'
|
AND B.SNS_DIV = 'N'
|
||||||
AND B.SNS_USER_ID = #{snsUserId}
|
AND B.SNS_USER_ID = #{snsUserId}
|
||||||
AND B.SSO_DEL_DT IS NULL /* 연동해제건 제외 */
|
AND B.SSO_DEL_DT IS NULL /* 연동해제건 제외 */
|
||||||
AND LIMIT 1
|
LIMIT 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="insertLoginLog" parameterType="NlibLoginVO">
|
<insert id="insertLoginLog" parameterType="NlibLoginVO">
|
||||||
@ -35,7 +35,7 @@
|
|||||||
,#{deptSeq}
|
,#{deptSeq}
|
||||||
,#{deptNm}
|
,#{deptNm}
|
||||||
,#{accIp}
|
,#{accIp}
|
||||||
,#{loginSucsYn}
|
,'Y'
|
||||||
,NOW()
|
,NOW()
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="SecUserDAO">
|
<mapper namespace="SecUserDAO">
|
||||||
|
|
||||||
<select id="loadUserByUsername" parameterType="String" resultType="NlibLoginVO">
|
<select id="loadUserByUsername" parameterType="String" resultType="SecUserVO">
|
||||||
SELECT A.*,
|
SELECT A.*,
|
||||||
CASE WHEN A.USER_DIV = '1' THEN 'ROLE_USER'
|
CASE WHEN A.USER_DIV = '1' THEN 'ROLE_USER'
|
||||||
WHEN A.USER_DIV = '2' THEN 'ROLE_USER, ROLE_ADMIN'
|
WHEN A.USER_DIV = '2' THEN 'ROLE_USER, ROLE_ADMIN'
|
||||||
@ -13,7 +13,7 @@
|
|||||||
FROM TMP_SM_USER A /* 사용자정보 */
|
FROM TMP_SM_USER A /* 사용자정보 */
|
||||||
WHERE A.USE_YN = 'Y'
|
WHERE A.USE_YN = 'Y'
|
||||||
AND A.LOGIN_USER_ID = #{loginUserId}
|
AND A.LOGIN_USER_ID = #{loginUserId}
|
||||||
AND LIMIT 1
|
LIMIT 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -49,6 +49,13 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
error : ${error }
|
||||||
|
<br>
|
||||||
|
message : ${message }
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
<!-- 네이버 로그인 화면으로 이동 시키는 URL -->
|
<!-- 네이버 로그인 화면으로 이동 시키는 URL -->
|
||||||
<!-- 네이버 로그인 화면에서 ID, PW를 올바르게 입력하면 callback 메소드 실행 요청 -->
|
<!-- 네이버 로그인 화면에서 ID, PW를 올바르게 입력하면 callback 메소드 실행 요청 -->
|
||||||
<div id="naver_id_login" style="text-align:center"><a href="${naverUrl}" ><img width="223" src="${pageContext.request.contextPath}/images/nlib/sns/naver_login_btn.png"/></a></div>
|
<div id="naver_id_login" style="text-align:center"><a href="${naverUrl}" ><img width="223" src="${pageContext.request.contextPath}/images/nlib/sns/naver_login_btn.png"/></a></div>
|
||||||
|
|||||||
@ -11,7 +11,6 @@
|
|||||||
<li><a href="#" onclick="javascript:location.href='${pageContext.request.contextPath}/inform/selectPrivacyInfo.do';">개인정보처리방침</a></li>
|
<li><a href="#" onclick="javascript:location.href='${pageContext.request.contextPath}/inform/selectPrivacyInfo.do';">개인정보처리방침</a></li>
|
||||||
<li><a href="#" onclick="javascript:location.href='${pageContext.request.contextPath}/inform/selectTermsInfo.do';">이용약관</a></li>
|
<li><a href="#" onclick="javascript:location.href='${pageContext.request.contextPath}/inform/selectTermsInfo.do';">이용약관</a></li>
|
||||||
|
|
||||||
<li><a href="#" onclick="javascript:location.href='${pageContext.request.contextPath}/login/loginForm.do';">로그인</a></li>
|
|
||||||
<sec:authorize access="not isAuthenticated()">
|
<sec:authorize access="not isAuthenticated()">
|
||||||
<li><a href="#" onclick="javascript:location.href='${pageContext.request.contextPath}/login/loginForm.do';">로그인</a></li>
|
<li><a href="#" onclick="javascript:location.href='${pageContext.request.contextPath}/login/loginForm.do';">로그인</a></li>
|
||||||
</sec:authorize>
|
</sec:authorize>
|
||||||
@ -26,8 +25,8 @@
|
|||||||
</sec:authorize>
|
</sec:authorize>
|
||||||
<li>
|
<li>
|
||||||
<sec:authorize access="isAuthenticated()">
|
<sec:authorize access="isAuthenticated()">
|
||||||
<sec:authentication property="principal.name" var="userName" />
|
<sec:authentication property="principal.userNm" var="userName" />
|
||||||
<sec:authentication property="principal.id" var="userId" />
|
<sec:authentication property="principal.loginUserId" var="userId" />
|
||||||
${userName}님 (${userId})
|
${userName}님 (${userId})
|
||||||
</sec:authorize>
|
</sec:authorize>
|
||||||
<sec:authorize access="not isAuthenticated()">
|
<sec:authorize access="not isAuthenticated()">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user