h5_standard/src/views/tabPage/my.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/src/main/java/doumeemes/config/shiro/ShiroCredentialsMatcher.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/src/main/java/doumeemes/config/shiro/ShiroRealm.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/src/main/java/doumeemes/config/shiro/ShiroToken.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
server/src/main/java/doumeemes/service/ext/impl/DepartmentExtServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
h5_standard/src/views/tabPage/my.vue
@@ -79,6 +79,7 @@ if (res.code === 200) { // window.parent.postMessage('阿康', '*') // let href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://www.mes.red/h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect' // let href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://www.mes.red/lingyangh5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect' // let href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://dmtest.ahapp.net/doumeeplant_h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect' let href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx6ea339a336f26380&redirect_url=https://lingyang.mes.show:1801/h5/redirect.html&response_type=code&scope=snsapi_base&state=#wechat_redirect' window.open(href) server/src/main/java/doumeemes/config/shiro/ShiroCredentialsMatcher.java
@@ -25,6 +25,9 @@ @Override public boolean doCredentialsMatch(AuthenticationToken token, AuthenticationInfo info) { ShiroToken usernamePasswordToken = (ShiroToken) token; if(((ShiroToken) token).getUpdateFlag() ==1){ return Boolean.TRUE; } SystemUser queryUserDto = new SystemUser(); queryUserDto.setUsername(usernamePasswordToken.getUsername()); queryUserDto.setDeleted(Boolean.FALSE); server/src/main/java/doumeemes/config/shiro/ShiroRealm.java
@@ -90,6 +90,10 @@ protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { // 获取用户名 ShiroToken authenticationToken =(ShiroToken) token; if(authenticationToken .getUpdateFlag() == 1){ //如果是更新session return new SimpleAuthenticationInfo(authenticationToken.getUpdateUser(), authenticationToken.getPassword(), this.getName()); }else{ String username = authenticationToken.getPrincipal().toString(); boolean isDdLogin = authenticationToken.getDdLogin(); // 根据用户名查询用户对象 @@ -163,3 +167,5 @@ } } } server/src/main/java/doumeemes/config/shiro/ShiroToken.java
@@ -1,5 +1,6 @@ package doumeemes.config.shiro; import doumeemes.core.model.LoginUserInfo; import org.apache.shiro.authc.UsernamePasswordToken; import org.springframework.stereotype.Component; @@ -17,6 +18,9 @@ Integer companyId; Boolean isDdLogin; Boolean isWxLogin; LoginUserInfo updateUser; int updateFlag; public ShiroToken() { } @@ -25,6 +29,12 @@ this.companyId = companyId; this.isDdLogin = isDdLogin; this.isWxLogin = isWxLogin; } public ShiroToken(LoginUserInfo user,int updateFlag) { super(user.getUsername(), "", false, (String)null); this.updateUser = user; this.updateFlag = updateFlag; this.isDdLogin = true; } public Boolean getDdLogin() { @@ -51,4 +61,20 @@ public void setCompanyId(Integer companyId) { this.companyId = companyId; } public LoginUserInfo getUpdateUser() { return updateUser; } public void setUpdateUser(LoginUserInfo updateUser) { this.updateUser = updateUser; } public int getUpdateFlag() { return updateFlag; } public void setUpdateFlag(int updateFlag) { this.updateFlag = updateFlag; } } server/src/main/java/doumeemes/service/ext/impl/DepartmentExtServiceImpl.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import doumeemes.config.shiro.ShiroToken; import doumeemes.core.constants.ResponseStatus; import doumeemes.core.exception.BusinessException; import doumeemes.core.model.LoginUserInfo; @@ -30,6 +31,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.subject.Subject; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; @@ -294,6 +296,11 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "对不起!只能切换到公司级部门!"); } user.setCurComDepartment(d); // 校验用户名和密码 Subject subject = SecurityUtils.getSubject(); // 钉钉登录 ShiroToken token = new ShiroToken(user.getId(),user.getUsername(), null,true,false); subject.login(token); } }