How to terminate other administrator session in back-end

有帮助吗?

解决方案

Simple we can get $sessionInfo \Magento\Security\Model\AdminSessionInfo */ and set status 0 for which $sessionId we want to terminate

public function destroySession($sessionId)
{
    /** @var  $sessionInfo \Magento\Security\Model\AdminSessionInfo */
    $sessionInfo = $this->adminSessionInfoFactory->create()->load($sessionId, 'session_id');

    try{

        $sessionInfo->getResource()->updateStatusByUserId(
            \Magento\Security\Model\AdminSessionInfo::LOGGED_OUT,
            $sessionInfo->getUserId(),
            [1],
            [],
            null
        );

    } catch (\Exception $e) {

    }

    return $this;
}
许可以下: CC-BY-SA归因
scroll top