mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	work on #672
This commit is contained in:
		| @@ -18,6 +18,7 @@ import ( | |||||||
|  |  | ||||||
| 	"github.com/gogits/gogs/modules/auth/ldap" | 	"github.com/gogits/gogs/modules/auth/ldap" | ||||||
| 	"github.com/gogits/gogs/modules/log" | 	"github.com/gogits/gogs/modules/log" | ||||||
|  | 	"github.com/gogits/gogs/modules/uuid" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| type LoginType int | type LoginType int | ||||||
| @@ -228,30 +229,32 @@ func UserSignIn(uname, passwd string) (*User, error) { | |||||||
| // Query if name/passwd can login against the LDAP direcotry pool | // Query if name/passwd can login against the LDAP direcotry pool | ||||||
| // Create a local user if success | // Create a local user if success | ||||||
| // Return the same LoginUserPlain semantic | // Return the same LoginUserPlain semantic | ||||||
|  | // FIXME: https://github.com/gogits/gogs/issues/672 | ||||||
| func LoginUserLdapSource(u *User, name, passwd string, sourceId int64, cfg *LDAPConfig, autoRegister bool) (*User, error) { | func LoginUserLdapSource(u *User, name, passwd string, sourceId int64, cfg *LDAPConfig, autoRegister bool) (*User, error) { | ||||||
| 	mail, logged := cfg.Ldapsource.SearchEntry(name, passwd) | 	mail, logged := cfg.Ldapsource.SearchEntry(name, passwd) | ||||||
| 	if !logged { | 	if !logged { | ||||||
| 		// user not in LDAP, do nothing | 		// User not in LDAP, do nothing | ||||||
| 		return nil, ErrUserNotExist | 		return nil, ErrUserNotExist | ||||||
| 	} | 	} | ||||||
| 	if !autoRegister { | 	if !autoRegister { | ||||||
| 		return u, nil | 		return u, nil | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// fake a local user creation | 	// Fallback. | ||||||
|  | 	if len(mail) == 0 { | ||||||
|  | 		mail = uuid.NewV4().String() + "@localhost" | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	u = &User{ | 	u = &User{ | ||||||
| 		LowerName:   strings.ToLower(name), | 		Name:        name, | ||||||
| 		Name:        strings.ToLower(name), |  | ||||||
| 		LoginType:   LDAP, | 		LoginType:   LDAP, | ||||||
| 		LoginSource: sourceId, | 		LoginSource: sourceId, | ||||||
| 		LoginName:   name, | 		LoginName:   name, | ||||||
| 		IsActive:    true, |  | ||||||
| 		Passwd:      passwd, | 		Passwd:      passwd, | ||||||
| 		Email:       mail, | 		Email:       mail, | ||||||
|  | 		IsActive:    true, | ||||||
| 	} | 	} | ||||||
|  | 	return u, CreateUser(u) | ||||||
| 	err := CreateUser(u) |  | ||||||
| 	return u, err |  | ||||||
| } | } | ||||||
|  |  | ||||||
| type loginAuth struct { | type loginAuth struct { | ||||||
|   | |||||||
| @@ -17,6 +17,7 @@ import ( | |||||||
| 	"github.com/gogits/gogs/modules/base" | 	"github.com/gogits/gogs/modules/base" | ||||||
| 	"github.com/gogits/gogs/modules/log" | 	"github.com/gogits/gogs/modules/log" | ||||||
| 	"github.com/gogits/gogs/modules/setting" | 	"github.com/gogits/gogs/modules/setting" | ||||||
|  | 	"github.com/gogits/gogs/modules/uuid" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // SignedInId returns the id of signed in user. | // SignedInId returns the id of signed in user. | ||||||
| @@ -83,7 +84,7 @@ func SignedInUser(req *http.Request, sess session.Store) (*models.User, bool) { | |||||||
| 					if setting.Service.EnableReverseProxyAutoRegister { | 					if setting.Service.EnableReverseProxyAutoRegister { | ||||||
| 						u := &models.User{ | 						u := &models.User{ | ||||||
| 							Name:     webAuthUser, | 							Name:     webAuthUser, | ||||||
| 							Email:    webAuthUser + "@gogs.io", | 							Email:    uuid.NewV4().String() + "@localhost", | ||||||
| 							Passwd:   webAuthUser, | 							Passwd:   webAuthUser, | ||||||
| 							IsActive: true, | 							IsActive: true, | ||||||
| 						} | 						} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user