Code Monkey home page Code Monkey logo

gitbucket's People

Contributors

cubdesign avatar hairyfotr avatar hikaruworld avatar jparound30 avatar jtyr avatar kariyayo avatar keiichiw avatar kounoike avatar lefou avatar lidice avatar marklacroix avatar mcfoggy avatar michaeljayt avatar mrkm4ntr avatar mslinn avatar nazoking avatar nus avatar odz avatar oohira avatar sapk avatar seratch avatar shiena avatar shimamoto avatar ssogabe avatar takezoe avatar tanacasino avatar tkgdsg avatar uli-heller avatar viliamjr avatar xuwei-k avatar

Watchers

 avatar

gitbucket's Issues

HttpPlatformHandler利用時のSSO認証プラグイン作成

概要

HttpPlatformHandlerを使用してGitBucketをホスティングする場合
IIS側に認証処理を任せることが可能。
HTTPヘッダ X-IIS-WindowsAuthToken に認証トークンが渡ってくるので
これを処理するプラグインを書けばSSOに対応可能と思われる。

実装方針

  1. GitBucketプラグインを作成し /windows_auth/signin で認証トークンを処理
  2. /windows_auth/ フォルダに対し、IIS側でWindows認証を要求するよう設定する。
  3. デフォルトの認証リダイレクト先を /signinから/auth/signin_ssoに変更する。
    認証トークンがない場合は既定のサインインページにリダイレクト。

TODO

GitBucketプラグインを作成し、問題なく動作しそうなことまでは確認済み。
HttpPlatformHandlerの将来性が不明確のため、対応保留中。
今後、HttpPlatformHandler v1.3がリリースされるようなら、対応を検討。

Windows上でのGitbucketホスティング方式

GitBucketのWikiには Helicontech Zoo を使用する手順しか記載されていない。
Windows上でのホスティング方法について手順をWikiに追加する。

  • Windowsサービス上でのホスティング手順
    → おそらくこれが一番無難な方式。

  • HttpPlatformHandlerを使用したホスティング手順
    → 認証/ロギング等にIIS側機能が利用できる利点がある。
    → ただ、ASP.NET Coreがこのモジュールを使用しなくなって以降、保守がされてるのか怪しい。

DB接続時の統合Windows認証の利用

Microsoft JDBC Driver 6.0 for SQL Serverに含まれるsqljdbc_auth.dll を追加で配置することで
Windows統合認証が利用可能であることを確認済み。
https://www.microsoft.com/en-us/download/details.aspx?id=11774

Windows統合認証を利用する場合(integratedSecurity=true)
GitBucketの起動アカウントが認証に使用される。
このため、ユーザー名/パスワードをdatabase.confに記載する必要がなくなる。

統合認証を利用する場合の設定例

db {
  url = "jdbc:sqlserver://localhost;instanceName=SQLEXPRESS;databaseName=GitBucket;integratedSecurity=true;applicationName=GitBucket"
  #url = "jdbc:sqlserver://localhost:1433/databaseName=${DatabaseHome};integratedSecurity=true;instance=SQLEXPRESS"
  user = "dummy"
  password = "dummy"
}

※バリデーションチェックの都合上、user/passwordにはダミー値を設定する必要がある。

TODO

  • Wikiに設定手順を記載する(英語)

各種プラットフォームでの動作確認

以下のOS/データベースの組合せで正常に動作することを確認する。

Windows

  • SQL Server 2016 SP1 (Express Edition)

Linux

  • SQL Server on Linux vNext
    → vNextが正式リリースされたら確認予定

その他

  • Azure SQL Database
    → いまのところ動作確認予定なし。

Windows向けのCIビルド環境の整備

AppVeyerを使用し、Windows向けのCIビルド環境を用意する。

TODO

  • AppVeyer環境のセットアップ
  • SQL Server利用時のDBマイグレーションテスト追加

その他

既存のTravis CI 上でも、SQL Server on Linux のDockerイメージを利用したテストを行いたいが
現時点で試した方の記載をみる限り、実行タイムアウト等の問題があるらしいので対応は保留。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.