アクティブセッション
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
GitLabは、あなたのアカウントにログインしたすべてのデバイスをリストします。セッションをレビューし、認識できないものは失効できます。
すべてのアクティブなセッションをリスト
すべてのアクティブなセッションをリストするには:
- 左側のサイドバーで、自分のアバターを選択します。
- プロファイルの編集を選択します。
- 左側のサイドバーで、アクティブなセッションを選択します。
アクティブなセッションの制限
GitLabでは、ユーザーは一度に最大100個のアクティブなセッションを持つことができます。アクティブなセッションの数が100を超えると、最も古いものが削除されます。
セッションを失効する
アクティブなセッションを失効するには:
- 左側のサイドバーで、自分のアバターを選択します。
- プロファイルの編集を選択します。
- 左側のサイドバーで、アクティブなセッションを選択します。
- セッションの横にある取り消しを選択します。現在のセッションは、GitLabからサインアウトされるため、失効できません。
セッションが失効すると、すべてのデバイスのすべてのログイン情報を記憶するトークンが失効します。ログイン情報を記憶するの詳細については、サインインに使用されるCookieを参照してください。
Railsコンソールからセッションを失効する
Railsコンソールからユーザーセッションを失効することもできます。これを使用して、複数のセッションを同時に失効できます。
すべてのユーザーのすべてのセッションを失効する
すべてのユーザーのすべてのセッションを失効するには:
オプション。次のコマンドですべてのアクティブなセッションをリストします:
ActiveSession.list(User.all)次のコマンドですべてのセッションを失効します:
ActiveSession.destroy_all次のコマンドでセッションが閉じていることを確認します:
# Show all users with active sessions puts "=== Currently Logged In Users ===" User.find_each do |user| sessions = ActiveSession.list(user) if sessions.any? puts "\n#{user.username} (#{user.name}):" sessions.each do |session| puts " - IP: #{session.ip_address}, Browser: #{session.browser}, Last active: #{session.updated_at}" end end end
ユーザーのすべてのセッションを失効する
特定のユーザーのすべてのセッションを失効するには:
次のコマンドでユーザーを見つけます:
ユーザー名:
user = User.find_by_username 'exampleuser'ユーザーID:
user = User.find(123)メールアドレス:
user = User.find_by(email: 'user@example.com')
オプション。次のコマンドを使用して、ユーザーのすべてのアクティブなセッションをリストします:
ActiveSession.list(user)次のコマンドですべてのセッションを失効します:
ActiveSession.list(user).each { |session| ActiveSession.destroy_session(user, session.session_private_id) }次のコマンドですべてのセッションが閉じていることを確認します:
# If all sessions are closed, returns an empty array. ActiveSession.list(user)
