24 lines
732 B
Go
24 lines
732 B
Go
package ldap
|
|
|
|
import (
|
|
iamv1alpha2 "kubesphere.io/kubesphere/pkg/apis/iam/v1alpha2"
|
|
)
|
|
|
|
// Interface defines CRUD behaviors of manipulating users
|
|
type Interface interface {
|
|
// Create create a new user in ldap
|
|
Create(user *iamv1alpha2.User) error
|
|
|
|
// Update updates a user information, return error if user not exists
|
|
Update(user *iamv1alpha2.User) error
|
|
|
|
// Delete deletes a user from ldap, return nil if user not exists
|
|
Delete(name string) error
|
|
|
|
// Get gets a user by its username from ldap, return ErrUserNotExists if user not exists
|
|
Get(name string) (*iamv1alpha2.User, error)
|
|
|
|
// Authenticate checks if (name, password) is valid, return ErrInvalidCredentials if not
|
|
Authenticate(name string, password string) error
|
|
}
|