fix bugs in authentication system

This commit is contained in:
Sebastian Sdorra
2010-12-04 16:18:47 +01:00
parent 8e49f50ced
commit 9fea1844d6
3 changed files with 17 additions and 3 deletions

View File

@@ -235,7 +235,12 @@ public class XmlUserManager extends AbstractUserManager
@Override
public void modify(User user) throws UserException, IOException
{
SecurityUtil.assertIsAdmin(scurityContextProvider);
User currentUser = SecurityUtil.getCurrentUser(scurityContextProvider);
if (!user.equals(currentUser) &&!currentUser.isAdmin())
{
throw new ScmSecurityException("admin account is required");
}
String name = user.getName();

View File

@@ -74,6 +74,7 @@ public class AuthenticationResult
*/
public AuthenticationResult(User user)
{
this.user = user;
this.state = AuthenticationState.SUCCESS;
}

View File

@@ -104,9 +104,17 @@ public class BasicSecurityContext implements WebSecurityContext
{
user.setLastLogin(System.currentTimeMillis());
if (userManager.contains(username))
User dbUser = userManager.get(username);
if (dbUser != null)
{
userManager.modify(user);
// update properties
dbUser.setDisplayName(user.getDisplayName());
dbUser.setLastLogin(user.getLastLogin());
dbUser.setMail(user.getMail());
dbUser.setType(user.getType());
userManager.modify(dbUser);
}
else
{