fuint-framework/fuint-base/src/main/java/com/fuint/base/web/SessionController.java

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package com.fuint.base.web;

import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.session.Session;
import org.apache.shiro.session.mgt.eis.SessionDAO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.Collection;

/**
 * 会话管理控制类
 *
 * @author fsq
 * @version $Id: SessionController.java
 */
@Controller
@RequestMapping("/sessions")
public class SessionController {

    private static final Logger logger = LoggerFactory.getLogger(SessionController.class);

    /**
     * sessionDao
     */
    @Autowired
    private SessionDAO sessionDAO;

    /**
     * 会话列表
     *
     * @param model
     * @return
     */
    @RequiresPermissions("sessions/query")
    @RequestMapping(value = "/query")
    public String list(Model model) {
        Collection<Session> sessions = sessionDAO.getActiveSessions();
        model.addAttribute("sessions", sessions);
        model.addAttribute("sessionCount", sessions.size());
        return "sessions/sessions_list";
    }

    /**
     * 强制退出会话
     *
     * @param sessionId 会话ID
     * @return
     */
    @RequiresPermissions("sessions/forceLogout")
    @RequestMapping("/forceLogout/{sessionId}")
    public String forceLogout(@PathVariable("sessionId") String sessionId) {
        try {
            Session session = sessionDAO.readSession(sessionId);
            if (session != null) {
                sessionDAO.delete(session);
后面还有 10 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。