forked from gitea/gitea
		
	work on #672
This commit is contained in:
		
							parent
							
								
									069486d169
								
							
						
					
					
						commit
						0b785ad967
					
				| @ -18,6 +18,7 @@ import ( | ||||
| 
 | ||||
| 	"github.com/gogits/gogs/modules/auth/ldap" | ||||
| 	"github.com/gogits/gogs/modules/log" | ||||
| 	"github.com/gogits/gogs/modules/uuid" | ||||
| ) | ||||
| 
 | ||||
| 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 | ||||
| // Create a local user if success | ||||
| // 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) { | ||||
| 	mail, logged := cfg.Ldapsource.SearchEntry(name, passwd) | ||||
| 	if !logged { | ||||
| 		// user not in LDAP, do nothing | ||||
| 		// User not in LDAP, do nothing | ||||
| 		return nil, ErrUserNotExist | ||||
| 	} | ||||
| 	if !autoRegister { | ||||
| 		return u, nil | ||||
| 	} | ||||
| 
 | ||||
| 	// fake a local user creation | ||||
| 	// Fallback. | ||||
| 	if len(mail) == 0 { | ||||
| 		mail = uuid.NewV4().String() + "@localhost" | ||||
| 	} | ||||
| 
 | ||||
| 	u = &User{ | ||||
| 		LowerName:   strings.ToLower(name), | ||||
| 		Name:        strings.ToLower(name), | ||||
| 		Name:        name, | ||||
| 		LoginType:   LDAP, | ||||
| 		LoginSource: sourceId, | ||||
| 		LoginName:   name, | ||||
| 		IsActive:    true, | ||||
| 		Passwd:      passwd, | ||||
| 		Email:       mail, | ||||
| 		IsActive:    true, | ||||
| 	} | ||||
| 
 | ||||
| 	err := CreateUser(u) | ||||
| 	return u, err | ||||
| 	return u, CreateUser(u) | ||||
| } | ||||
| 
 | ||||
| type loginAuth struct { | ||||
|  | ||||
| @ -17,6 +17,7 @@ import ( | ||||
| 	"github.com/gogits/gogs/modules/base" | ||||
| 	"github.com/gogits/gogs/modules/log" | ||||
| 	"github.com/gogits/gogs/modules/setting" | ||||
| 	"github.com/gogits/gogs/modules/uuid" | ||||
| ) | ||||
| 
 | ||||
| // 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 { | ||||
| 						u := &models.User{ | ||||
| 							Name:     webAuthUser, | ||||
| 							Email:    webAuthUser + "@gogs.io", | ||||
| 							Email:    uuid.NewV4().String() + "@localhost", | ||||
| 							Passwd:   webAuthUser, | ||||
| 							IsActive: true, | ||||
| 						} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Unknwon
						Unknwon