mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 00:20:25 +08:00 
			
		
		
		
	* Check user != nil before checking values * Handle autoAdmin Co-authored-by: zeripath <art27@cantab.net>
This commit is contained in:
		@@ -473,13 +473,21 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR
 | 
			
		||||
	// Update User admin flag if exist
 | 
			
		||||
	if isExist, err := IsUserExist(0, sr.Username); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	} else if isExist &&
 | 
			
		||||
		!user.ProhibitLogin && len(source.LDAP().AdminFilter) > 0 && user.IsAdmin != sr.IsAdmin {
 | 
			
		||||
		// Change existing admin flag only if AdminFilter option is set
 | 
			
		||||
		user.IsAdmin = sr.IsAdmin
 | 
			
		||||
		err = UpdateUserCols(user, "is_admin")
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
	} else if isExist {
 | 
			
		||||
		if user == nil {
 | 
			
		||||
			user, err = GetUserByName(sr.Username)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return nil, err
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		if user != nil &&
 | 
			
		||||
			!user.ProhibitLogin && len(source.LDAP().AdminFilter) > 0 && user.IsAdmin != sr.IsAdmin {
 | 
			
		||||
			// Change existing admin flag only if AdminFilter option is set
 | 
			
		||||
			user.IsAdmin = sr.IsAdmin
 | 
			
		||||
			err = UpdateUserCols(user, "is_admin")
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return nil, err
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user