Commit cd4e6229 authored by cy's avatar cy

Merge remote-tracking branch 'origin/master'

parents c016bdf5 983011c5
...@@ -97,11 +97,13 @@ public class ShiroConfig { ...@@ -97,11 +97,13 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/upload_flowChart/**", "anon");//图片地址 filterChainDefinitionMap.put("/upload_flowChart/**", "anon");//图片地址
filterChainDefinitionMap.put("/webSocket/**", "anon");//socket filterChainDefinitionMap.put("/webSocket/**", "anon");//socket
filterChainDefinitionMap.put("/message/**", "anon");//消息推送接口 filterChainDefinitionMap.put("/message/**", "anon");//消息推送接口
filterChainDefinitionMap.put("/pay/**", "anon"); filterChainDefinitionMap.put("/pay/aliPayCallBack.do", "anon");//支付宝支付回调接口
filterChainDefinitionMap.put("/pay/wxPayCallBack.do", "anon");//微信支付回调接口
filterChainDefinitionMap.put("/**", "authc"); filterChainDefinitionMap.put("/**", "authc");
filterChainDefinitionMap.put("/account/**", "kickout"); filterChainDefinitionMap.put("/account/**", "kickout");
filterChainDefinitionMap.put("/banner/**", "kickout"); filterChainDefinitionMap.put("/banner/**", "kickout");
filterChainDefinitionMap.put("/pic/**", "kickout"); filterChainDefinitionMap.put("/pic/**", "kickout");
filterChainDefinitionMap.put("/pay/**", "kickout");
filterChainDefinitionMap.put("/school/**", "kickout"); filterChainDefinitionMap.put("/school/**", "kickout");
filterChainDefinitionMap.put("/price/**", "kickout"); filterChainDefinitionMap.put("/price/**", "kickout");
filterChainDefinitionMap.put("/profession/**", "kickout"); filterChainDefinitionMap.put("/profession/**", "kickout");
......
...@@ -138,8 +138,10 @@ public class KickoutSessionControlFilter extends AccessControlFilter{ ...@@ -138,8 +138,10 @@ public class KickoutSessionControlFilter extends AccessControlFilter{
boolean result = null != request.getHeader("identity") && request.getHeader("identity").equals("miniprogram"); boolean result = null != request.getHeader("identity") && request.getHeader("identity").equals("miniprogram");
boolean result1 = url.indexOf("/login")!=-1 || url.indexOf("/user/valid")!=-1 || url.indexOf("/user/sendSms")!=-1; boolean result1 = url.indexOf("/login")!=-1 || url.indexOf("/user/valid")!=-1 || url.indexOf("/user/sendSms")!=-1;
boolean resultPay=url.indexOf("pay/aliPayCallBack.do")!=-1 || url.indexOf("pay/wxPayCallBack.do")!=-1; boolean resultPay=url.indexOf("pay/aliPayCallBack.do")!=-1 || url.indexOf("pay/wxPayCallBack.do")!=-1;
boolean result2=url.indexOf("/scheme/download")!=-1 || url.indexOf("/scheme/excel/template")!=-1;
boolean result3=url.indexOf("/scheme/record/export")!=-1 || url.indexOf("/scheme/record/createExcel")!=-1;
log.info("KickoutSessionControlFilter ifFilter url :{} , resultPay {}",url,resultPay); log.info("KickoutSessionControlFilter ifFilter url :{} , resultPay {}",url,resultPay);
return result || result1 || resultPay; return result || result1 || resultPay || result2 || result3;
} }
......
package cn.wisenergy.service.shir.util; package cn.wisenergy.service.shir.util;
import cn.wisenergy.service.util.UserToken; import cn.wisenergy.service.util.UserToken;
import com.itextpdf.text.log.Logger; import lombok.extern.slf4j.Slf4j;
import com.itextpdf.text.log.LoggerFactory;
import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo; import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.shiro.authc.AuthenticationToken; import org.apache.shiro.authc.AuthenticationToken;
...@@ -12,13 +11,13 @@ import org.apache.shiro.realm.Realm; ...@@ -12,13 +11,13 @@ import org.apache.shiro.realm.Realm;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
@Slf4j
public class UserModularRealmAuthenticator extends ModularRealmAuthenticator { public class UserModularRealmAuthenticator extends ModularRealmAuthenticator {
private static final Logger logger = LoggerFactory.getLogger(UserModularRealmAuthenticator.class);
@Override @Override
protected AuthenticationInfo doAuthenticate(AuthenticationToken authenticationToken) protected AuthenticationInfo doAuthenticate(AuthenticationToken authenticationToken)
throws AuthenticationException { throws AuthenticationException {
logger.info("UserModularRealmAuthenticator:method doAuthenticate() execute "); log.info("UserModularRealmAuthenticator:method doAuthenticate() execute ");
// 判断getRealms()是否返回为空 // 判断getRealms()是否返回为空
assertRealmsConfigured(); assertRealmsConfigured();
// 强制转换回自定义的CustomizedToken // 强制转换回自定义的CustomizedToken
...@@ -30,17 +29,17 @@ public class UserModularRealmAuthenticator extends ModularRealmAuthenticator { ...@@ -30,17 +29,17 @@ public class UserModularRealmAuthenticator extends ModularRealmAuthenticator {
// 登录类型对应的所有Realm // 登录类型对应的所有Realm
Collection<Realm> typeRealms = new ArrayList<>(); Collection<Realm> typeRealms = new ArrayList<>();
for (Realm realm : realms) { for (Realm realm : realms) {
if (realm.getName().contains(loginType)); if (realm.getName().toLowerCase().contains(loginType.toLowerCase())){
typeRealms.add(realm); typeRealms.add(realm);
} }
}
// 判断是单Realm还是多Realm // 判断是单Realm还是多Realm
if (typeRealms.size() == 1){ if (typeRealms.size() == 1){
logger.info("doSingleRealmAuthentication() execute "); log.info("doSingleRealmAuthentication() execute ");
return doSingleRealmAuthentication(((ArrayList<Realm>) typeRealms).get(0), userToken); return doSingleRealmAuthentication(((ArrayList<Realm>) typeRealms).get(0), userToken);
} }else{
else{ log.info("doMultiRealmAuthentication() execute ");
logger.info("doMultiRealmAuthentication() execute ");
return doMultiRealmAuthentication(typeRealms, userToken); return doMultiRealmAuthentication(typeRealms, userToken);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment