设为首页 加入收藏

TOP

用户注册&单点登录(一)
2017-10-11 15:19:52 】 浏览:8003
Tags:用户注册 单点 登录

 

package com.tttttt.portal.controller;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.tttttt.manager.pojo.User;
import com.tttttt.portal.util.CookieUtils;
import com.tttttt.sso.service.UserService;

@Controller
@RequestMapping("user")
public class UserController {

    @Autowired
    private UserService userService;

    @Value("${TT_TICKET}")
    private String TT_TICKET;

    // type : "POST",
    // //url : "/service/user/doRegister",
    // url : "/user/doRegister.html",
    // data : {password:_password,username:_username,phone:_phone},
    // dataType : 'json',
    // if(result.status == "200")
    /**
     * 用户注册
     * 
     * @param user
     * @return
     */
    @RequestMapping(value = "doRegister", method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> doRegister(User user) {
        // 调用sso服务注册用户
        this.userService.saveUser(user);

        // 封装返回数据map
        Map<String, Object> map = new HashMap<>();
        map.put("status", "200");

        return map;
    }

    // type: "POST",
    // url: "/service/user/doLogin?r=" + Math.random(),
    // data: {username:_username,password:_password},
    // dataType : "json",
    // if (obj.status == 200)
    /**
     * 用户登录
     * 
     * @param request
     * @param response
     * @param user
     * @return
     */
    @RequestMapping(value = "doLogin", method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> doLogin(HttpServletRequest request, HttpServletResponse response, User user) {
        // 声明返回的map
        Map<String, Object> map = new HashMap<>();

        // 调用单点登录服务,执行用户登录操作,返回ticket
        String ticket = this.userService.doLogin(user);

        // 判断ticket是否为非空
        if (StringUtils.isNotBlank(ticket)) {
            // 如果为非空表示登录成功
            // 把ticket放到cookie中
            CookieUtils.setCookie(request, response, this.TT_TICKET, ticket, 60 * 60 * 24, true);

            // 封装返回数据
            map.put("status", 200);
        }

        // 如果为空,表示登录失败,什么都不做

        // 返回结果
        return map;

    }

}

 

package com.tttttt.sso.service;

import com.tttttt.manager.pojo.User;

public interface UserService {

    /**
     * 检查数据是否可用
     * 
     * @param param
     * @param type
     * @return
     */
    Boolean check(String param, Integer type);

    /**
     * 根据Ticket查询用户
     * 
     * @param ticket
     * @return
     */
    User queryUserByTicket(String ticket);

    /**
     * 用户注册
     * 
     * @param user
     */
    void saveUser(User user);

    /**
     * 用户登录
     * 
     * @param user
     * @return
     */
    String doLogin(User user);

}

 

package com.tttttt.sso.service.impl;

import java.io.IOException;
import java.util.Date;

import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringU
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇第三章作业 下一篇如何在maven pom.xml文件中设置Ja..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目