Add user session management and auditing

This commit is contained in:
Eric Lesiuta committed 2026-03-20 21:26:30 -04:00
1 parent 455dd20365
commit 0b354c8048
25 files changed
+1299 -11

No files matched your search

+18
View File
@@ -8,6 +8,7 @@ import (
"time"
activities_model "code.gitea.io/gitea/models/activities"
auth_model "code.gitea.io/gitea/models/auth"
"code.gitea.io/gitea/models/system"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/git/gitcmd"
@@ -171,6 +172,22 @@ func registerDeleteOldSystemNotices() {
})
}
func registerCleanupUserSessions() {
RegisterTaskFatal("cleanup_user_sessions", &OlderThanConfig{
BaseConfig: BaseConfig{
Enabled: false,
RunAtStart: false,
Schedule: "@every 24h",
},
OlderThan: time.Hour * 24 * 30, // 30 day retention
}, func(ctx context.Context, _ *user_model.User, config Config) error {
olderThanConfig := config.(*OlderThanConfig)
retentionSeconds := int64(olderThanConfig.OlderThan.Seconds())
maxLifetime := setting.SessionConfig.Maxlifetime
return auth_model.CleanupExpiredUserSessions(ctx, retentionSeconds, maxLifetime)
})
}
type GCLFSConfig struct {
BaseConfig
OlderThan time.Duration
@@ -239,4 +256,5 @@ func initExtendedTasks() {
registerDeleteOldSystemNotices()
registerGCLFS()
registerRebuildIssueIndexer()
registerCleanupUserSessions()
}