fix

上级 600f7c98
......@@ -5,7 +5,7 @@ package org.maxkey.authn.support.socialsignon;
import org.maxkey.authn.support.socialsignon.service.SocialSignOnProvider;
import org.maxkey.authn.support.socialsignon.service.SocialSignOnProviderService;
import org.maxkey.authn.support.socialsignon.service.SocialSignOnUserTokenService;
import org.maxkey.authn.support.socialsignon.service.SocialsAssociateService;
import org.maxkey.web.WebContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -53,7 +53,7 @@ public class AbstractSocialSignOnEndpoint {
protected SocialSignOnProviderService socialSignOnProviderService;
@Autowired
protected SocialSignOnUserTokenService socialSignOnUserTokenService;
protected SocialsAssociateService socialsAssociateService;
......
......@@ -6,7 +6,7 @@ package org.maxkey.authn.support.socialsignon;
import javax.servlet.http.HttpServletRequest;
import org.maxkey.authn.realm.AbstractAuthenticationRealm;
import org.maxkey.authn.support.socialsignon.service.SocialSignOnUserToken;
import org.maxkey.authn.support.socialsignon.service.SocialsAssociate;
import org.maxkey.constants.ConstantsLoginType;
import org.maxkey.web.WebContext;
import org.slf4j.Logger;
......@@ -62,13 +62,13 @@ public class SocialSignOnEndpoint extends AbstractSocialSignOnEndpoint{
public ModelAndView unbind(HttpServletRequest request,
@PathVariable String provider) {
WebContext.setAttribute(SOCIALSIGNON_SESSION_REDIRECT_URI, request.getParameter(SOCIALSIGNON_REDIRECT_URI));
SocialSignOnUserToken socialSignOnUser =new SocialSignOnUserToken();
SocialsAssociate socialSignOnUser =new SocialsAssociate();
socialSignOnUser.setProvider(provider);
socialSignOnUser.setUid(WebContext.getUserInfo().getId());
socialSignOnUser.setUsername(WebContext.getUserInfo().getUsername());
_logger.debug("Social Sign On unbind "+provider+" from user "+WebContext.getUserInfo().getUsername());
socialSignOnUserTokenService.delete(socialSignOnUser);
socialsAssociateService.delete(socialSignOnUser);
if(WebContext.getAttribute(SOCIALSIGNON_SESSION_REDIRECT_URI)!=null){
return WebContext.redirect(WebContext.getAttribute(SOCIALSIGNON_SESSION_REDIRECT_URI).toString());
......@@ -92,7 +92,7 @@ public class SocialSignOnEndpoint extends AbstractSocialSignOnEndpoint{
this.provider=provider;
this.authCallback();
_logger.debug(this.accountId);
SocialSignOnUserToken socialSignOnUserToken =new SocialSignOnUserToken();
SocialsAssociate socialSignOnUserToken =new SocialsAssociate();
socialSignOnUserToken.setProvider(provider);
socialSignOnUserToken.setSocialuid(this.accountId);
......@@ -117,21 +117,21 @@ public class SocialSignOnEndpoint extends AbstractSocialSignOnEndpoint{
}
public boolean socialBind(SocialSignOnUserToken socialSignOnUserToken){
public boolean socialBind(SocialsAssociate socialSignOnUserToken){
socialSignOnUserToken.setSocialUserInfo(accountJsonString);
socialSignOnUserToken.setUid(WebContext.getUserInfo().getId());
socialSignOnUserToken.setUsername(WebContext.getUserInfo().getUsername());
//socialSignOnUserToken.setAccessToken(JsonUtils.object2Json(accessToken));
//socialSignOnUserToken.setExAttribute(JsonUtils.object2Json(accessToken.getResponseObject()));
_logger.debug("Social Bind : "+socialSignOnUserToken);
this.socialSignOnUserTokenService.delete(socialSignOnUserToken);
this.socialSignOnUserTokenService.insert(socialSignOnUserToken);
this.socialsAssociateService.delete(socialSignOnUserToken);
this.socialsAssociateService.insert(socialSignOnUserToken);
return true;
}
public boolean socialSignOn(SocialSignOnUserToken socialSignOnUserToken){
public boolean socialSignOn(SocialsAssociate socialSignOnUserToken){
socialSignOnUserToken=this.socialSignOnUserTokenService.get(socialSignOnUserToken);
socialSignOnUserToken=this.socialsAssociateService.get(socialSignOnUserToken);
_logger.debug("callback SocialSignOn User Token : "+socialSignOnUserToken);
if(null !=socialSignOnUserToken){
......@@ -143,7 +143,7 @@ public class SocialSignOnEndpoint extends AbstractSocialSignOnEndpoint{
socialSignOnUserToken.setSocialUserInfo(accountJsonString);
//socialSignOnUserToken.setExAttribute(JsonUtils.object2Json(accessToken.getResponseObject()));
this.socialSignOnUserTokenService.update(socialSignOnUserToken);
this.socialsAssociateService.update(socialSignOnUserToken);
}
}else{
......
......@@ -11,98 +11,98 @@ import org.slf4j.LoggerFactory;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
public class JdbcSocialSignOnUserTokenService implements SocialSignOnUserTokenService{
private static final Logger _logger = LoggerFactory.getLogger(JdbcSocialSignOnUserTokenService.class);
public class JdbcSocialsAssociateService implements SocialsAssociateService{
private static final Logger _logger = LoggerFactory.getLogger(JdbcSocialsAssociateService.class);
private static final String DEFAULT_DEFAULT_INSERT_STATEMENT = "INSERT INTO SOCIALSIGNON_USERS_TOKEN(ID, UID , USERNAME , PROVIDER , SOCIALUID , ACCESSTOKEN , SOCIALUSERINFO , EXATTRIBUTE )VALUES( ? , ? , ? , ? , ?, ? , ? , ?)";
private static final String DEFAULT_DEFAULT_INSERT_STATEMENT = "INSERT INTO SOCIALS_ASSOCIATE(ID, UID , USERNAME , PROVIDER , SOCIALUID , ACCESSTOKEN , SOCIALUSERINFO , EXATTRIBUTE )VALUES( ? , ? , ? , ? , ?, ? , ? , ?)";
private static final String DEFAULT_DEFAULT_SIGNON_SELECT_STATEMENT = "SELECT ID, UID , USERNAME , PROVIDER , SOCIALUID , ACCESSTOKEN , SOCIALUSERINFO , EXATTRIBUTE FROM SOCIALSIGNON_USERS_TOKEN WHERE PROVIDER = ? AND SOCIALUID = ?";
private static final String DEFAULT_DEFAULT_SIGNON_SELECT_STATEMENT = "SELECT ID, UID , USERNAME , PROVIDER , SOCIALUID , ACCESSTOKEN , SOCIALUSERINFO , EXATTRIBUTE FROM SOCIALS_ASSOCIATE WHERE PROVIDER = ? AND SOCIALUID = ?";
private static final String DEFAULT_DEFAULT_BIND_SELECT_STATEMENT = "SELECT ID, UID , USERNAME , PROVIDER , SOCIALUID , ACCESSTOKEN , SOCIALUSERINFO , EXATTRIBUTE FROM SOCIALSIGNON_USERS_TOKEN WHERE UID = ?" ;
private static final String DEFAULT_DEFAULT_BIND_SELECT_STATEMENT = "SELECT ID, UID , USERNAME , PROVIDER , SOCIALUID , ACCESSTOKEN , SOCIALUSERINFO , EXATTRIBUTE FROM SOCIALS_ASSOCIATE WHERE UID = ?" ;
private static final String DEFAULT_DEFAULT_DELETE_STATEMENT = "DELETE FROM SOCIALSIGNON_USERS_TOKEN WHERE UID = ? AND PROVIDER = ?";
private static final String DEFAULT_DEFAULT_DELETE_STATEMENT = "DELETE FROM SOCIALS_ASSOCIATE WHERE UID = ? AND PROVIDER = ?";
private static final String DEFAULT_DEFAULT_UPDATE_STATEMENT= "UPDATE SOCIALSIGNON_USERS_TOKEN SET ACCESSTOKEN = ? , SOCIALUSERINFO = ? , EXATTRIBUTE = ? ,UPDATEDDATE = ? WHERE ID = ?";
private static final String DEFAULT_DEFAULT_UPDATE_STATEMENT= "UPDATE SOCIALS_ASSOCIATE SET ACCESSTOKEN = ? , SOCIALUSERINFO = ? , EXATTRIBUTE = ? ,UPDATEDDATE = ? WHERE ID = ?";
private final JdbcTemplate jdbcTemplate;
public JdbcSocialSignOnUserTokenService(JdbcTemplate jdbcTemplate) {
public JdbcSocialsAssociateService(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate=jdbcTemplate;
}
@Override
public boolean insert(SocialSignOnUserToken socialSignOnUserToken) {
socialSignOnUserToken.setId(socialSignOnUserToken.generateId());
public boolean insert(SocialsAssociate socialsAssociate) {
socialsAssociate.setId(socialsAssociate.generateId());
jdbcTemplate.update(DEFAULT_DEFAULT_INSERT_STATEMENT,
new Object[] {
socialSignOnUserToken.getId(),
socialSignOnUserToken.getUid(),
socialSignOnUserToken.getUsername(),
socialSignOnUserToken.getProvider(),
socialSignOnUserToken.getSocialuid(),
socialSignOnUserToken.getAccessToken(),
socialSignOnUserToken.getSocialUserInfo(),
socialSignOnUserToken.getExAttribute()},
socialsAssociate.getId(),
socialsAssociate.getUid(),
socialsAssociate.getUsername(),
socialsAssociate.getProvider(),
socialsAssociate.getSocialuid(),
socialsAssociate.getAccessToken(),
socialsAssociate.getSocialUserInfo(),
socialsAssociate.getExAttribute()},
new int[] {Types.VARCHAR, Types.VARCHAR,Types.VARCHAR,Types.VARCHAR, Types.VARCHAR,Types.VARCHAR, Types.VARCHAR,Types.VARCHAR });
return true;
}
@Override
public boolean delete(SocialSignOnUserToken socialSignOnUserToken) {
public boolean delete(SocialsAssociate socialsAssociate) {
jdbcTemplate.update(DEFAULT_DEFAULT_DELETE_STATEMENT,
new Object[] {
socialSignOnUserToken.getUid(),
socialSignOnUserToken.getProvider()
socialsAssociate.getUid(),
socialsAssociate.getProvider()
},
new int[] {Types.VARCHAR, Types.VARCHAR});
return true;
}
@Override
public SocialSignOnUserToken get(SocialSignOnUserToken socialSignOnUserToken) {
List<SocialSignOnUserToken> listSocialSignOnUserToken=jdbcTemplate.query(
public SocialsAssociate get(SocialsAssociate socialsAssociate) {
List<SocialsAssociate> listsocialsAssociate=jdbcTemplate.query(
DEFAULT_DEFAULT_SIGNON_SELECT_STATEMENT,
new SocialSignOnUserTokenRowMapper(),
socialSignOnUserToken.getProvider(),
socialSignOnUserToken.getSocialuid());
_logger.debug("list SocialSignOnUserToken "+listSocialSignOnUserToken);
return (listSocialSignOnUserToken.size()>0)?listSocialSignOnUserToken.get(0):null;
new SocialsAssociateRowMapper(),
socialsAssociate.getProvider(),
socialsAssociate.getSocialuid());
_logger.debug("list socialsAssociate "+listsocialsAssociate);
return (listsocialsAssociate.size()>0)?listsocialsAssociate.get(0):null;
}
@Override
public List<SocialSignOnUserToken> query(
SocialSignOnUserToken socialSignOnUserToken) {
List<SocialSignOnUserToken> listSocialSignOnUserToken=jdbcTemplate.query(
public List<SocialsAssociate> query(
SocialsAssociate socialsAssociate) {
List<SocialsAssociate> listsocialsAssociate=jdbcTemplate.query(
DEFAULT_DEFAULT_BIND_SELECT_STATEMENT,
new SocialSignOnUserTokenRowMapper(),
socialSignOnUserToken.getUid());
_logger.debug("query bind SocialSignOnUser "+listSocialSignOnUserToken);
return listSocialSignOnUserToken;
new SocialsAssociateRowMapper(),
socialsAssociate.getUid());
_logger.debug("query bind SocialSignOnUser "+listsocialsAssociate);
return listsocialsAssociate;
}
@Override
public boolean update(SocialSignOnUserToken socialSignOnUserToken) {
public boolean update(SocialsAssociate socialsAssociate) {
jdbcTemplate.update(DEFAULT_DEFAULT_UPDATE_STATEMENT,
new Object[] {socialSignOnUserToken.getAccessToken(),socialSignOnUserToken.getSocialUserInfo(),socialSignOnUserToken.getExAttribute(),new Date(),socialSignOnUserToken.getId()},
new Object[] {socialsAssociate.getAccessToken(),socialsAssociate.getSocialUserInfo(),socialsAssociate.getExAttribute(),new Date(),socialsAssociate.getId()},
new int[] {Types.VARCHAR, Types.VARCHAR,Types.VARCHAR, Types.TIMESTAMP,Types.VARCHAR });
return false;
}
private final class SocialSignOnUserTokenRowMapper implements RowMapper<SocialSignOnUserToken> {
private final class SocialsAssociateRowMapper implements RowMapper<SocialsAssociate> {
@Override
public SocialSignOnUserToken mapRow(ResultSet rs, int rowNum)
public SocialsAssociate mapRow(ResultSet rs, int rowNum)
throws SQLException {
SocialSignOnUserToken socialSignOnUserToken=new SocialSignOnUserToken();
socialSignOnUserToken.setId(rs.getString(1));
socialSignOnUserToken.setUid(rs.getString(2));
socialSignOnUserToken.setUsername(rs.getString(3));
socialSignOnUserToken.setProvider(rs.getString(4));
socialSignOnUserToken.setSocialuid(rs.getString(5));
socialSignOnUserToken.setAccessToken(rs.getString(6));
socialSignOnUserToken.setSocialUserInfo(rs.getString(7));
socialSignOnUserToken.setExAttribute(rs.getString(8));
return socialSignOnUserToken;
SocialsAssociate socialsAssociate=new SocialsAssociate();
socialsAssociate.setId(rs.getString(1));
socialsAssociate.setUid(rs.getString(2));
socialsAssociate.setUsername(rs.getString(3));
socialsAssociate.setProvider(rs.getString(4));
socialsAssociate.setSocialuid(rs.getString(5));
socialsAssociate.setAccessToken(rs.getString(6));
socialsAssociate.setSocialUserInfo(rs.getString(7));
socialsAssociate.setExAttribute(rs.getString(8));
return socialsAssociate;
}
}
......
package org.maxkey.authn.support.socialsignon.service;
import java.util.List;
public interface SocialSignOnUserTokenService{
public boolean insert(SocialSignOnUserToken socialSignOnUserToken);
public List<SocialSignOnUserToken> query (SocialSignOnUserToken socialSignOnUserToken);
public SocialSignOnUserToken get (SocialSignOnUserToken socialSignOnUserToken);
public boolean delete (SocialSignOnUserToken socialSignOnUserToken);
public boolean update (SocialSignOnUserToken socialSignOnUserToken);
}
......@@ -6,7 +6,7 @@ import org.apache.mybatis.jpa.persistence.JpaBaseDomain;
*
* @author Crystal.Sea
*/
public class SocialSignOnUserToken extends JpaBaseDomain {
public class SocialsAssociate extends JpaBaseDomain {
/**
*
......@@ -21,7 +21,7 @@ public class SocialSignOnUserToken extends JpaBaseDomain {
private String accessToken;
private String exAttribute;
public SocialSignOnUserToken() {}
public SocialsAssociate() {}
/**
* @return the id
......
package org.maxkey.authn.support.socialsignon.service;
import java.util.List;
public interface SocialsAssociateService{
public boolean insert(SocialsAssociate socialsAssociate);
public List<SocialsAssociate> query (SocialsAssociate socialsAssociate);
public SocialsAssociate get (SocialsAssociate socialsAssociate);
public boolean delete (SocialsAssociate socialsAssociate);
public boolean update (SocialsAssociate socialsAssociate);
}
......@@ -6,24 +6,24 @@ import java.sql.SQLException;
import org.maxkey.domain.PasswordPolicy;
import org.springframework.jdbc.core.RowMapper;
public class PasswordPolicyRowMapper implements RowMapper<PasswordPolicy> {
public class PasswordPolicyRowMapper implements RowMapper<PasswordPolicy> {
@Override
public PasswordPolicy mapRow(ResultSet rs, int rowNum) throws SQLException {
PasswordPolicy passwordPolicy=new PasswordPolicy();
passwordPolicy.setId(rs.getString("ID"));
passwordPolicy.setMinLength(rs.getInt("MINLENGTH"));
passwordPolicy.setMaxLength(rs.getInt("MAXLENGTH"));
passwordPolicy.setLowerCase(rs.getInt("LOWERCASE"));
passwordPolicy.setUpperCase(rs.getInt("UPPERCASE"));
passwordPolicy.setDigits(rs.getInt("DIGITS"));
passwordPolicy.setSpecialChar(rs.getInt("SPECIALCHAR"));
passwordPolicy.setAttempts(rs.getInt("ATTEMPTS"));
passwordPolicy.setDuration(rs.getInt("DURATION"));
passwordPolicy.setExpiration(rs.getInt("EXPIRATION"));
passwordPolicy.setUsername(rs.getInt("USERNAME"));
passwordPolicy.setSimplePasswords(rs.getString("SIMPLEPASSWORDS"));
return passwordPolicy;
}
@Override
public PasswordPolicy mapRow(ResultSet rs, int rowNum) throws SQLException {
PasswordPolicy passwordPolicy = new PasswordPolicy();
passwordPolicy.setId(rs.getString("ID"));
passwordPolicy.setMinLength(rs.getInt("MINLENGTH"));
passwordPolicy.setMaxLength(rs.getInt("MAXLENGTH"));
passwordPolicy.setLowerCase(rs.getInt("LOWERCASE"));
passwordPolicy.setUpperCase(rs.getInt("UPPERCASE"));
passwordPolicy.setDigits(rs.getInt("DIGITS"));
passwordPolicy.setSpecialChar(rs.getInt("SPECIALCHAR"));
passwordPolicy.setAttempts(rs.getInt("ATTEMPTS"));
passwordPolicy.setDuration(rs.getInt("DURATION"));
passwordPolicy.setExpiration(rs.getInt("EXPIRATION"));
passwordPolicy.setUsername(rs.getInt("USERNAME"));
passwordPolicy.setSimplePasswords(rs.getString("SIMPLEPASSWORDS"));
return passwordPolicy;
}
}
......@@ -5,8 +5,8 @@ import java.util.List;
import org.maxkey.authn.support.socialsignon.service.SocialSignOnProvider;
import org.maxkey.authn.support.socialsignon.service.SocialSignOnProviderService;
import org.maxkey.authn.support.socialsignon.service.SocialSignOnUserToken;
import org.maxkey.authn.support.socialsignon.service.SocialSignOnUserTokenService;
import org.maxkey.authn.support.socialsignon.service.SocialsAssociate;
import org.maxkey.authn.support.socialsignon.service.SocialsAssociateService;
import org.maxkey.config.ApplicationConfig;
import org.maxkey.web.WebContext;
import org.slf4j.Logger;
......@@ -27,7 +27,7 @@ public class SocialSignOnListController {
SocialSignOnProviderService socialSignOnProviderService;
@Autowired
protected SocialSignOnUserTokenService socialSignOnUserService;
protected SocialsAssociateService socialSignOnUserService;
@Autowired
@Qualifier("applicationConfig")
......@@ -40,9 +40,9 @@ public class SocialSignOnListController {
if(applicationConfig.getLoginConfig().isSocialSignOn()){
List<SocialSignOnProvider> listSocialSignOnProvider= socialSignOnProviderService.getSocialSignOnProviders();
SocialSignOnUserToken socialSignOnUser=new SocialSignOnUserToken();
SocialsAssociate socialSignOnUser=new SocialsAssociate();
socialSignOnUser.setUid(WebContext.getUserInfo().getId());
List<SocialSignOnUserToken> listSocialSignOnUserToken= socialSignOnUserService.query(socialSignOnUser);
List<SocialsAssociate> listSocialSignOnUserToken= socialSignOnUserService.query(socialSignOnUser);
List<SocialSignOnProvider> listBindSocialSignOnProvider=new ArrayList<SocialSignOnProvider>();
_logger.debug("list SocialSignOnProvider : "+listSocialSignOnProvider);
_logger.debug("list SocialSignOnUserToken : "+listSocialSignOnUserToken);
......@@ -51,7 +51,7 @@ public class SocialSignOnListController {
socialSignOnProvider.setProvider(ssop.getProvider());
socialSignOnProvider.setProviderName(ssop.getProviderName());
socialSignOnProvider.setIcon(ssop.getIcon());
for(SocialSignOnUserToken ssout :listSocialSignOnUserToken){
for(SocialsAssociate ssout :listSocialSignOnUserToken){
if(ssout.getProvider().equals(ssop.getProvider())){
socialSignOnProvider.setUserBind(true);
_logger.debug("binded provider : "+ssout.getProvider());
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册