mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-08 12:39:05 +08:00
✨ Introducing new features. #1982 单点登录sso下跳转 无法传递租户上下文
This commit is contained in:
1 parent
407a9bb15c
commit
ceac667a71
6 files changed
+33
-38
No files matched your search
@@ -22,8 +22,11 @@ package com.pig4cloud.pigx.auth.endpoint;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.pig4cloud.pigx.admin.api.entity.SysTenant;
|
||||
import com.pig4cloud.pigx.admin.api.feign.RemoteTenantService;
|
||||
import com.pig4cloud.pigx.auth.service.PigxTokenDealServiceImpl;
|
||||
import com.pig4cloud.pigx.common.core.constant.PaginationConstants;
|
||||
import com.pig4cloud.pigx.common.core.constant.SecurityConstants;
|
||||
import com.pig4cloud.pigx.common.core.util.R;
|
||||
import com.pig4cloud.pigx.common.security.annotation.Inner;
|
||||
import com.pig4cloud.pigx.common.security.util.SecurityUtils;
|
||||
@@ -39,6 +42,7 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -51,9 +55,11 @@ import java.util.Map;
|
||||
@RequestMapping("/token")
|
||||
public class PigxTokenEndpoint {
|
||||
|
||||
private final ClientDetailsService clientDetailsService;
|
||||
|
||||
private final PigxTokenDealServiceImpl dealService;
|
||||
|
||||
private final ClientDetailsService clientDetailsService;
|
||||
private final RemoteTenantService tenantService;
|
||||
|
||||
/**
|
||||
* 认证页面
|
||||
@@ -63,8 +69,10 @@ public class PigxTokenEndpoint {
|
||||
*/
|
||||
@GetMapping("/login")
|
||||
public ModelAndView require(ModelAndView modelAndView, @RequestParam(required = false) String error) {
|
||||
R<List<SysTenant>> tenantList = tenantService.list(SecurityConstants.FROM_IN);
|
||||
modelAndView.setViewName("ftl/login");
|
||||
modelAndView.addObject("error", error);
|
||||
modelAndView.addObject("tenantList", tenantList.getData());
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,16 @@
|
||||
<div class="container form-margin-top">
|
||||
<form class="form-signin" action="/token/form" method="post">
|
||||
<h2 class="form-signin-heading" align="center">统一认证系统</h2>
|
||||
<input type="text" name="username" class="form-control form-margin-top" placeholder="账号" required autofocus>
|
||||
|
||||
<#if tenantList??>
|
||||
<select class="form-control form-margin-top" placeholder="所属租户" name="TENANT-ID">
|
||||
<#list tenantList as tenant>
|
||||
<option value="${tenant.code}">${tenant.name}</option>
|
||||
</#list>
|
||||
</select>
|
||||
</#if>
|
||||
|
||||
<input type="text" name="username" class="form-control" placeholder="账号" required autofocus>
|
||||
<input type="password" name="password" class="form-control" placeholder="密码" required>
|
||||
<button class="btn btn-lg btn-primary btn-block" type="submit">sign in</button>
|
||||
<#if error??>
|
||||
@@ -28,7 +37,7 @@
|
||||
</div>
|
||||
<footer>
|
||||
<p>support by: pig4cloud</p>
|
||||
<p>email: <a href="mailto:pig4cloud@qq.com">pig4cloud@qq.com</a>.</p>
|
||||
<p>email: <a href="mailto:support@mail.pigx.vip">support@mail.pigx.vip</a></p>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+9
-4
@@ -47,11 +47,16 @@ public class TenantContextHolderFilter extends GenericFilterBean {
|
||||
HttpServletRequest request = (HttpServletRequest) servletRequest;
|
||||
HttpServletResponse response = (HttpServletResponse) servletResponse;
|
||||
|
||||
String tenantId = request.getHeader(CommonConstants.TENANT_ID);
|
||||
log.debug("获取header中的租户ID为:{}", tenantId);
|
||||
String headerTenantId = request.getHeader(CommonConstants.TENANT_ID);
|
||||
String paramTenantId = request.getParameter(CommonConstants.TENANT_ID);
|
||||
|
||||
if (StrUtil.isNotBlank(tenantId)) {
|
||||
TenantContextHolder.setTenantId(Integer.parseInt(tenantId));
|
||||
log.debug("获取header中的租户ID为:{}", headerTenantId);
|
||||
|
||||
if (StrUtil.isNotBlank(headerTenantId)) {
|
||||
TenantContextHolder.setTenantId(Integer.parseInt(headerTenantId));
|
||||
}
|
||||
else if (StrUtil.isNotBlank(paramTenantId)) {
|
||||
TenantContextHolder.setTenantId(Integer.parseInt(paramTenantId));
|
||||
}
|
||||
else {
|
||||
TenantContextHolder.setTenantId(CommonConstants.TENANT_ID_1);
|
||||
|
||||
-27
@@ -1,27 +0,0 @@
|
||||
package com.pig4cloud.pigx.admin.controller;
|
||||
|
||||
import com.pig4cloud.pigx.common.security.annotation.Inner;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author lengleng
|
||||
* @date 2020/10/13
|
||||
*/
|
||||
@Inner
|
||||
@RequestMapping(value = "/demo", method = RequestMethod.POST)
|
||||
@RestController
|
||||
public class DemoController {
|
||||
|
||||
@Inner(false)
|
||||
@GetMapping("/test")
|
||||
public String demo() {
|
||||
return "ssucess";
|
||||
}
|
||||
|
||||
@Inner(false)
|
||||
@GetMapping("/test/{id}")
|
||||
public String demo2(@PathVariable String id) {
|
||||
return "ssucess";
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -115,7 +115,7 @@ public class SysRoleController {
|
||||
* @return 分页对象
|
||||
*/
|
||||
@GetMapping("/page")
|
||||
public R getRolePage(Page page,SysRole role) {
|
||||
public R getRolePage(Page page, SysRole role) {
|
||||
return R.ok(sysRoleService.page(page, Wrappers.query(role)));
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
</organization>
|
||||
|
||||
<properties>
|
||||
<spring-boot.version>2.3.4.RELEASE</spring-boot.version>
|
||||
<spring-boot.version>2.3.5.RELEASE</spring-boot.version>
|
||||
<spring-cloud.version>Hoxton.SR8</spring-cloud.version>
|
||||
<spring-cloud-alibaba.version>2.2.3.RELEASE</spring-cloud-alibaba.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
@@ -43,10 +43,10 @@
|
||||
<spring.checkstyle.version>0.0.23</spring.checkstyle.version>
|
||||
<git.commit.version>2.2.5</git.commit.version>
|
||||
<spring-boot-admin.version>2.3.0</spring-boot-admin.version>
|
||||
<hutool.version>5.4.5</hutool.version>
|
||||
<hutool.version>5.4.7</hutool.version>
|
||||
<captcha.version>1.2.4</captcha.version>
|
||||
<swagger.fox.version>3.0.0</swagger.fox.version>
|
||||
<knife4j.version>2.0.4</knife4j.version>
|
||||
<knife4j.version>2.0.7</knife4j.version>
|
||||
<velocity.version>1.7</velocity.version>
|
||||
<lcn.version>4.1.0</lcn.version>
|
||||
<jasypt.version>2.1.1</jasypt.version>
|
||||
|
||||
Reference in new issue
Block a user