From 1223d37915cb351e0cde995edb95609204d4b0c5 Mon Sep 17 00:00:00 2001 From: kunw <kunw@vmware.com> Date: Mon, 11 Apr 2016 16:43:13 +0800 Subject: [PATCH] add some missing files. --- .gitignore | 1 + ui/main.go | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 ui/main.go diff --git a/.gitignore b/.gitignore index 5a3024f87..afe16e226 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ Deploy/config/ui/app.conf Deploy/config/db/env Deploy/harbor.cfg .DS_Store +ui/ui diff --git a/ui/main.go b/ui/main.go new file mode 100644 index 000000000..573815e83 --- /dev/null +++ b/ui/main.go @@ -0,0 +1,75 @@ +/* + Copyright (c) 2016 VMware, Inc. All Rights Reserved. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +package main + +import ( + "fmt" + + log "github.com/vmware/harbor/utils/log" + + "os" + + _ "github.com/vmware/harbor/auth/db" + _ "github.com/vmware/harbor/auth/ldap" + "github.com/vmware/harbor/dao" + "github.com/vmware/harbor/models" + + "github.com/astaxie/beego" +) + +const ( + adminUserID = 1 +) + +func updateInitPassword(userID int, password string) error { + queryUser := models.User{UserID: userID} + user, err := dao.GetUser(queryUser) + if err != nil { + return fmt.Errorf("Failed to get user, userID: %d %v", userID, err) + } + if user == nil { + return fmt.Errorf("User id: %d does not exist.", userID) + } + if user.Salt == "" { + salt, err := dao.GenerateRandomString() + if err != nil { + return fmt.Errorf("Failed to generate salt for encrypting password, %v", err) + } + + user.Salt = salt + user.Password = password + err = dao.ChangeUserPassword(*user) + if err != nil { + return fmt.Errorf("Failed to update user encrypted password, userID: %d, err: %v", userID, err) + } + + log.Infof("User id: %d updated its encypted password successfully.", userID) + } else { + log.Infof("User id: %d already has its encrypted password.", userID) + } + return nil +} + +func main() { + + beego.BConfig.WebConfig.Session.SessionOn = true + dao.InitDB() + if err := updateInitPassword(adminUserID, os.Getenv("HARBOR_ADMIN_PASSWORD")); err != nil { + log.Error(err) + } + initRouters() + beego.Run() +}