mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-08 06:25:45 +01:00
improve security of administration context
This commit is contained in:
@@ -117,13 +117,15 @@ public class DefaultAdministrationContext implements AdministrationContext
|
||||
|
||||
Subject subject = SecurityUtils.getSubject();
|
||||
|
||||
String principal = (String) subject.getPrincipal();
|
||||
|
||||
if (logger.isInfoEnabled())
|
||||
{
|
||||
String username = null;
|
||||
|
||||
if (subject.isAuthenticated())
|
||||
{
|
||||
username = subject.getPrincipal().toString();
|
||||
username = principal;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -150,6 +152,13 @@ public class DefaultAdministrationContext implements AdministrationContext
|
||||
logger.debug("release runas for user {}",
|
||||
collection.getPrimaryPrincipal());
|
||||
}
|
||||
|
||||
if (!subject.getPrincipal().equals(principal))
|
||||
{
|
||||
logger.error("release runas failed, {} is not equal with {}, logout.",
|
||||
subject.getPrincipal(), principal);
|
||||
subject.logout();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user