心通达OA单点登录接口

心通达OA单点登录接口

package com.xoa.controller.sso;

import com.xoa.controller.login.loginController;
import com.xoa.dao.common.SysParaMapper;
import com.xoa.dao.sys.SysInterfaceMapper;
import com.xoa.dao.users.OrgManageMapper;
import com.xoa.dao.users.UserExtMapper;
import com.xoa.dao.users.UserFunctionMapper;
import com.xoa.model.common.SysPara;
import com.xoa.model.common.Syslog;
import com.xoa.model.sys.InterfaceModel;
import com.xoa.model.users.OrgManage;
import com.xoa.model.users.UserOnline;
import com.xoa.model.users.Users;
import com.xoa.service.sys.SysLogService;
import com.xoa.service.users.UsersService;
import com.xoa.util.CookiesUtil;
import com.xoa.util.DateFormatUtils;
import com.xoa.util.LoginState;
import com.xoa.util.ToJson;
import com.xoa.util.common.StringUtils;
import com.xoa.util.common.session.SessionUtils;
import com.xoa.util.dataSource.ContextHolder;
import com.xoa.util.sso.CASUtils;
import com.xoa.util.sso.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.File;
import java.text.ParseException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static com.xoa.controller.login.loginController.userCountMap;

@Controller
@RequestMapping("/sso")
public class SsoController {
   

    @Autowired
    private OrgManageMapper orgManageMapper;

    @Resource
    private SysLogService sysLogService;

    @Resource
    private UsersService usersService;

    @Autowired
    private SysParaMapper sysParaMapper;

    @Autowired
    private UserExtMapper userExtMapper;

    @Autowired
    private loginController loginController;

    @Autowired
    UserFunctionMapper userFunctionMapper;
    @Resource
    private SysInterfaceMapper sysInterfaceMapper;

    @RequestMapping("/ssoIndex")
    public String defaultIndex() {
   
        return null;
    }
    /**
     *用户登录
     */
    @RequestMapping(value = "/ssoLogin", produces = {
   "application/json;charset=UTF-8"})
    @ResponseBody
    public ToJson<Users> ssoLoginEnter(HttpServletRequest request, HttpServletResponse response) throws Exception {
   
        response.addHeader("Access-Control-Allow-Origin", "*");
        response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
        response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
        response.addHeader("Access-Control-Max-Age", "1800");//30 min

        // 获取企业微信和钉钉登陆判断参数
        String thirdPartyType = request.getParameter("thirdPartyType");

        String loginId="1001";
        Integer h5Login=1;
        String userAgent="pc";
        String password="temp";

        CASUtils casUtils = new CASUtils();
        HttpSession session = request.getSession();
        String targetUrl = casUtils.getBasePath(request);
        /** 判断是否已经登录过 */
        if (casUtils.isLogin(session)) {
   
            //如果登录,重定向到targetUrl
            response.sendRedirect(targetUrl+"main");
            //如果没有登陆过
        } else {
   
            //判断票据是否存在
            if (casUtils.hasTicket(request)) {
   
                //存在就获取Cas登录Url 登录成功后返回票据 */
                LoginUser loginUser = casUtils.getLoginUser(request);
                //判断是否登录过
                if (loginUser.isLogin() ) {
   
                    /** 写入单页面登录判断标志 */
                    casUtils.login(loginUser, session);
                    String username = loginUser.getAccount();
                    CookiesUtil.setCookie(response,"redisSessionId",request.getSession().getId());
                    Cookie redisSessionCookie = new Cookie("redisSessionId",request.getSession().getId());
                    if (StringUtils.checkNull(loginId)) {
   
                        List<OrgManage> org = orgManageMapper.queryId();
                        if (org != null 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人人献出爱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值