parent
55019bfbc5
commit
26c0113ea0
@ -1,38 +0,0 @@ |
|||||||
// Copyright github.com/juju2013. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package models |
|
||||||
|
|
||||||
import ( |
|
||||||
"strings" |
|
||||||
|
|
||||||
"github.com/gogits/gogs/modules/auth/ldap" |
|
||||||
"github.com/gogits/gogs/modules/log" |
|
||||||
) |
|
||||||
|
|
||||||
// Query if name/passwd can login against the LDAP direcotry pool
|
|
||||||
// Create a local user if success
|
|
||||||
// Return the same LoginUserPlain semantic
|
|
||||||
func LoginUserLdap(name, passwd string) (*User, error) { |
|
||||||
mail, logged := ldap.LoginUser(name, passwd) |
|
||||||
if !logged { |
|
||||||
// user not in LDAP, do nothing
|
|
||||||
return nil, ErrUserNotExist |
|
||||||
} |
|
||||||
// fake a local user creation
|
|
||||||
user := User{ |
|
||||||
LowerName: strings.ToLower(name), |
|
||||||
Name: strings.ToLower(name), |
|
||||||
LoginType: 389, |
|
||||||
IsActive: true, |
|
||||||
Passwd: passwd, |
|
||||||
Email: mail} |
|
||||||
_, err := RegisterUser(&user) |
|
||||||
if err != nil { |
|
||||||
log.Debug("LDAP local user %s found (%s) ", name, err) |
|
||||||
} |
|
||||||
// simulate local user login
|
|
||||||
localUser, err2 := GetUserByName(user.Name) |
|
||||||
return localUser, err2 |
|
||||||
} |
|
Loading…
Reference in new issue