| | |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.servlet.ModelAndView; |
| | | import org.springframework.web.servlet.mvc.support.RedirectAttributes; |
| | | import org.springframework.web.servlet.view.RedirectView; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.ServletException; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.servlet.http.HttpSession; |
| | | |
| | | import java.io.IOException; |
| | | |
| | |
| | | * @author ludc |
| | | * @date 2023/9/12 9:07 |
| | | */ |
| | | @Controller |
| | | @RestController |
| | | @RequestMapping("/passwordFree") |
| | | @Api(value = "免密登录接口", tags = "免密登录接口") |
| | | @Slf4j |
| | | public class PasswordFreeLoginController { |
| | | |
| | | // 别人调用我们的单点重定向的地址 |
| | | @Value("${password-free.sso-redirect-addr}") |
| | | private String ssoRedirectAddr; |
| | | |
| | | @Resource |
| | | private IPasswordFreeLoginService passwordFreeLoginService; |
| | | |
| | | @PostMapping("/login") |
| | | @ResponseBody |
| | | public R passwordFreeLogin(@RequestParam("userName") String username, HttpServletRequest request) { |
| | | boolean status; |
| | | try { |
| | |
| | | |
| | | /** |
| | | * 单点登录 |
| | | * @param request |
| | | * @param empCode |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | @GetMapping("/ssoLogin") |
| | | public String oaSsoLogin(HttpServletRequest request) throws IOException { |
| | | @PostMapping("/ssoLogin") |
| | | public String oaSsoLogin(String empCode){ |
| | | String token; |
| | | try { |
| | | token = passwordFreeLoginService.ssoFreeLogin(request); |
| | | token = passwordFreeLoginService.ssoFreeLogin(empCode); |
| | | }catch (Exception e){ |
| | | throw new ServiceException("单点登录获取token失败:"+e.getMessage()); |
| | | } |
| | | // response.setHeader("tokenInfo",token); |
| | | // response.setCharacterEncoding("utf-8"); |
| | | // response.setContentType("application/json"); |
| | | request.setAttribute("tokenInfo",token); |
| | | //response.sendRedirect(ssoRedirectAddr); |
| | | return "forward:/sso"; |
| | | return token; |
| | | } |
| | | |
| | | } |