Merge pull request #2377 from ywk253100/170524_ldap

Refactor ldap API
This commit is contained in:
Wenkai Yin 2017-06-02 13:46:51 +08:00 committed by GitHub
commit 95a2a01bb0

View File

@ -20,8 +20,6 @@ import (
"net/http" "net/http"
"strings" "strings"
"github.com/vmware/harbor/src/common/api"
"github.com/vmware/harbor/src/common/dao"
"github.com/vmware/harbor/src/common/models" "github.com/vmware/harbor/src/common/models"
ldapUtils "github.com/vmware/harbor/src/common/utils/ldap" ldapUtils "github.com/vmware/harbor/src/common/utils/ldap"
"github.com/vmware/harbor/src/common/utils/log" "github.com/vmware/harbor/src/common/utils/log"
@ -29,25 +27,22 @@ import (
// LdapAPI handles requesst to /api/ldap/ping /api/ldap/user/search /api/ldap/user/import // LdapAPI handles requesst to /api/ldap/ping /api/ldap/user/search /api/ldap/user/import
type LdapAPI struct { type LdapAPI struct {
api.BaseAPI BaseController
} }
const metaChars = "&|!=~*<>()" const metaChars = "&|!=~*<>()"
// Prepare ... // Prepare ...
func (l *LdapAPI) Prepare() { func (l *LdapAPI) Prepare() {
l.BaseController.Prepare()
userID := l.ValidateUser() if !l.SecurityCtx.IsAuthenticated() {
isSysAdmin, err := dao.IsAdminRole(userID) l.HandleUnauthorized()
if err != nil { return
log.Errorf("error occurred in IsAdminRole: %v", err)
l.CustomAbort(http.StatusInternalServerError, http.StatusText(http.StatusInternalServerError))
} }
if !l.SecurityCtx.IsSysAdmin() {
if !isSysAdmin { l.HandleForbidden(l.SecurityCtx.GetUsername())
l.CustomAbort(http.StatusForbidden, http.StatusText(http.StatusForbidden)) return
} }
} }
// Ping ... // Ping ...