package com.test.springboot.controller;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.test.springboot.pojo.Users;
import com.test.springboot.service.UsersService;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.IncorrectCredentialsException;
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.naming.ldap.PagedResultsControl;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
public class UsersController {
    @Autowired
    private UsersService usersService;

    //跳转登录页
    @RequestMapping("/login")
    public String getAllusers(){
        return "login";
    }
    //未授权
    @RequestMapping("/401")
    public String weishouq(){
        return "401";
    }

    @RequestMapping("/system")
    public String page1(){
        return "page1";
    }

    @RequestMapping("/public")
    public String page2(){
        return "page1";
    }

    @RequestMapping("/test")
    @ResponseBody
    public Map<String,Object> test(){
        Map<String,Object> resultmap = new HashMap<String,Object>();
        //List<Users> alluser = usersService.getAllUsers();
        resultmap.put("userslist","1");
        return resultmap;
    }

    @RequestMapping("/test2")
    public void test2(PrintWriter out){
        //List<Users> alluser = usersService.getAllUsers();
        out.print(1);
    }

    @RequestMapping("/indexpage")
    public String indexpage(Integer pageNum,Model m){
        if(pageNum==null||pageNum<=0) {
            pageNum=1;
        }
        PageInfo<Users> po = usersService.getallusers(pageNum);
        System.out.println("+数据+"+po);
        //当前页数
        System.out.println("+当前页数+"+po.getPageNum());
        //总页数
        System.out.println("+总页数+"+po.getPages());
        //总记录数
        System.out.println("+总记录数+"+po.getTotal());
        //设置当前页的列表内容
        System.out.println("+设置当前页的列表内容+"+po.getList());
        m.addAttribute("list", po.getList());
        m.addAttribute("pageNum", po.getPageNum());
        m.addAttribute("pagetotal", po.getPages());
        return "index";
    }

    @RequestMapping("/doLogin")
    public String doLogin(String username,String userpwd,Model m){
        // 使用Shiro编写认证处理
        // 1、获取Subject
        Subject subject = SecurityUtils.getSubject();
        // 2、封装用户数据
        UsernamePasswordToken token = new UsernamePasswordToken(username, userpwd);
        // 3、执行登录
        try {
            // 登录成功
            subject.login(token);

            // 返回当前用户的帐号
            final Model currentuser = m.addAttribute("currentuser", token.getUsername());
            indexpage(1,m);//调用分页方法
            return "index";
        } catch (UnknownAccountException exception) {
            // 返回错误信息
            m.addAttribute("msg", "账号错误!");

            return "login";
        } catch (IncorrectCredentialsException exception) {
            // 返回错误信息
            m.addAttribute("msg", "密码错误!");

            return "login";
        }
    }
    // 注销处理
    @RequestMapping("/doLogout")
    public String doLogout() {
        // 1、获取Subject
        Subject subject = SecurityUtils.getSubject();
        // 2、执行注销
        try {
            subject.logout();
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            return "login";
        }
    }
}
最近下载更多
1529860026  LV24 2022年9月5日
 LV6 2022年6月25日
wwssll  LV2 2022年5月9日
heweimin  LV13 2022年4月9日
szf123  LV12 2021年11月11日
qazxsw_  LV10 2021年9月17日
qq70081337  LV6 2021年9月10日
build12398  LV18 2021年7月28日
最近浏览更多
citybird  LV4 昨天
bluerstar  LV1 10月23日
ma406805131  LV15 6月15日
lllajen 6月9日
暂无贡献等级
WBelong  LV8 3月7日
janly989713  LV3 3月4日
weilaizhisheng  LV21 2023年12月26日
wnnmmb  LV2 2023年11月12日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友