From 7767f4b262ce99175c00b8002b02949e4d716a78 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Tue, 11 Jun 2024 10:28:55 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=AE=9A=E5=88=B6=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 11 ++++++++++- config/routes.rb | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index d7608ec3d..b976ee8fa 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -702,6 +702,15 @@ class UsersController < ApplicationController @user = User.find_by(mail: params[:email]) end + #根据login获取用户信息 + def get_user_info_by_login + private_token = "hriEn3UwXfJs3PmyXnSH" + sign = Digest::MD5.hexdigest("#{private_token}:#{params[:login]}") + tip_exception(401, '401 Unauthorized') unless params[:sign].to_s == sign + user = User.find_by_login params[:login] + render_ok(data: {username: user.real_name, school: user.custom_department, login: user.login, phone: user.phone, mail: user.mail}) + end + private def load_user @user = User.find_by_login(params[:id]) || User.find_by(id: params[:id]) @@ -731,7 +740,7 @@ class UsersController < ApplicationController end def sso_login - if params[:login].present? && !current_user.logged? && params[:websiteName].present? + if params[:login].present? && !current_user.logged? && params[:websiteName].present? && request.referer.to_s.include?("gitlink.org.cn") user = User.where("login = ?", "#{params[:login].presence}").first # 已同步注册,直接登录 if user.present? diff --git a/config/routes.rb b/config/routes.rb index a25447641..75caa100d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -288,6 +288,7 @@ Rails.application.routes.draw do post :following post :unfollow get :get_user_info + get :get_user_info_by_login get :attachment_show get :html_show get :get_navigation_info From 4318e9acfa3c03315dc21c1087321bdc43c7cdd8 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Fri, 21 Jun 2024 10:45:54 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fixed=20releases=20download=E4=B8=8D?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/version_releases_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/version_releases_controller.rb b/app/controllers/version_releases_controller.rb index d542fbb76..93aece8fc 100644 --- a/app/controllers/version_releases_controller.rb +++ b/app/controllers/version_releases_controller.rb @@ -3,7 +3,7 @@ class VersionReleasesController < ApplicationController before_action :load_repository before_action :set_user before_action :require_login, except: [:index, :show] - before_action :check_release_authorize, except: [:index, :show] + before_action :check_release_authorize, except: [:index, :show, :download] before_action :find_version , only: [:show, :edit, :update, :destroy] def index From 7f8aac4d28f88133ae8f594cece8b6405db0b989 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Fri, 21 Jun 2024 15:46:47 +0800 Subject: [PATCH 3/3] =?UTF-8?q?release=20=E5=8F=AF=E4=B8=8D=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/version_releases_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/version_releases_controller.rb b/app/controllers/version_releases_controller.rb index 93aece8fc..dd80bf6ab 100644 --- a/app/controllers/version_releases_controller.rb +++ b/app/controllers/version_releases_controller.rb @@ -2,7 +2,7 @@ class VersionReleasesController < ApplicationController include ApplicationHelper before_action :load_repository before_action :set_user - before_action :require_login, except: [:index, :show] + before_action :require_login, except: [:index, :show, :download] before_action :check_release_authorize, except: [:index, :show, :download] before_action :find_version , only: [:show, :edit, :update, :destroy]