Gitea: Sembunyikan pengguna dari tampilan publik

Dibuat pada 13 Nov 2017  ·  60Komentar  ·  Sumber: go-gitea/gitea

  • Versi Gitea (atau komit ref): 1.2.3
  • Versi Git: 2.15
  • Sistem operasi: CentOS
  • Basis data (gunakan [x] ):

    • [ ] PostgreSQL

    • [ ] MySQL

    • [ ] MSSQL

    • [x] SQLite

  • Bisakah Anda mereproduksi bug di https://try.gitea.io :

    • [ ] Ya (berikan contoh URL)

    • [ ] Tidak

    • [x] Tidak relevan

  • Log inti:

Keterangan

Saya pikir harus ada opsi konfigurasi untuk mencegah tampilan akun pengguna dari tampilan publik. Saya memiliki akun pengguna di instance Gitea saya yang tidak ingin dilihat orang lain. Ini mungkin bisa dilakukan dengan templat tetapi saya tidak yakin saat ini.

kinfeature revieweconfirmed

Komentar yang paling membantu

Masih ingin...

Semua 60 komentar

Definisikan "melihat". Apakah Anda mengacu pada daftar seperti /explore/users ? Bagaimana dengan mereka yang mengomentari masalah publik, apakah Anda ingin komentar itu disembunyikan? Berkomitmen ke repo publik, haruskah komit tidak ditampilkan?

(tidak satu pun dari dua kasus terakhir yang dapat dilakukan dengan cara yang masuk akal :))

Saya pikir ini dimaksudkan untuk bersembunyi dari explore/users

@bkcsoft Ya saya mengacu pada /explore/users . Sejujurnya, saya lupa semua tentang masalah ini. Saya bisa mengatasinya dengan menggunakan template.

Untuk menjawab pertanyaan Anda sepenuhnya, saya memiliki pengguna root dan pengguna "hanya-baca" lainnya yang tidak ingin saya tampilkan di halaman /explore/users . Jika mereka tidak memiliki komitmen, maka mereka pada dasarnya disembunyikan dari pandangan publik. Saya ingin mencegah seseorang masuk dengan pengguna root atau "hanya-baca".

Catatan:

  • Yang saya maksud dengan "hanya-baca" adalah bahwa saya memiliki akun yang memiliki akses hanya-baca ke repositori di akun Gitea utama saya.

@demonpig apakah Anda dapat memposting inti dari templat khusus yang Anda gunakan?

@techknowlogick Ini dia.
Filenya ada di: ${GITEA_HOME}/custom/templates/explore

{{template "base/head" .}}
<div class="explore users">
        {{template "explore/navbar" .}}
        <div class="ui container">
                Users not viewable.
        </div>
</div>
{{template "base/footer" .}}

@demonpig terima kasih

Akan menyenangkan untuk memiliki, selain opsi yang menyembunyikan semua pengguna dari tampilan publik, memiliki opsi untuk menyembunyikan pengguna tertentu dari tampilan publik. Seperti akun lokal cadangan saat Anda mengaktifkan ldap auth =/.

+1
Saya baru saja mengalami masalah yang sama - akun non-LDAP khusus admin ditampilkan dengan jelas di halaman arahan. Ini meminta upaya login "kreatif" ....

Ya, ini akan menyenangkan untuk dimiliki. Untuk saat ini, saya hanya memiliki 403 orang yang mengunjungi /explore/users melalui NGINX.

FWIW, sepertinya komunitas gitea dan gogs menginginkan ini.

https://github.com/gogits/gogs/issues/5080
https://github.com/gogits/gogs/issues/3248

Menolak akses ke /explore/users saja tidak menyelesaikan masalah. Pengguna masih dapat ditemukan melalui API:

curl -X GET "http://gitea/api/v1/users/search" -H  "accept: application/json"

@shuhaowu Tangkapan yang bagus! Benar-benar lupa untuk memblokir akses ke titik akhir itu juga.

Saya ingin melihat ini sehingga pengguna admin tidak begitu menonjol.

Untuk memperjelas, apakah masalah ini dengan REQUIRE_SIGNIN_VIEW disetel ke true atau false ?

@davidsiefert saya tidak percaya begitu. Pada dasarnya, dapatkah ada opsi konfigurasi yang ditambahkan yang akan mencegah root atau semua akun pengguna lain ditampilkan dari API dan titik akhir /explore/users ? Mungkin Gitea dapat dikonfigurasi/dikembangkan sedemikian rupa sehingga hanya menunjukkan pengguna yang telah membuat komitmen?

…atau mereka yang memilih untuk dipublikasikan.

Ini akan menjadi fitur penting bagi kami. Pengguna seharusnya tidak dapat melihat pengguna lain.

+1 permintaan untuk menyembunyikan pengguna dari orang lain kecuali admin (tambahkan tanda hak)

+1

Bagaimana itu akan ditangani di API?

+1

+1

Masalah ini secara otomatis ditandai sebagai basi karena tidak ada aktivitas terbaru. Akan ditutup jika tidak ada aktivitas lebih lanjut selama 2 minggu ke depan. Terima kasih atas kontribusi Anda.

Masih ingin...

Ya. Pasti masih ingin.

solusi sementara (sembunyikan opsi dari tampilan) bagi mereka yang terburu-buru di sini: https://github.com/gogs/gogs/issues/5080#issuecomment -482657310

bagi mereka yang terburu-buru di sini: gogs/gogs#5080

@miqmago bagaimana cara mencegah mengetik "/ jelajahi/pengguna" secara manual di browser?
Saya kira patch dari route.go (sekitar https://github.com/go-gitea/gitea/blob/master/routers/routes/routes.go#L247) adalah wajib, bukan?

Juga, #6530 diselesaikan sebagai duplikat.
Tetapi saya ingin menekankan, bahwa memiliki fitur organisasi swasta dirilis, tetapi dengan kemungkinan untuk mengekspos setiap pengguna bahkan dari organisasi swasta mana pun harus diperlakukan sebagai lubang keamanan :wink:

Apakah mungkin untuk mengeskalasi masalah ini ke cabang 1.8.1?

Bukan lubang keamanan, karena kriteria penerimaannya adalah tidak pernah menyembunyikan pengguna yang merupakan bagian dari organisasi tersembunyi. Untuk itulah tiket ini.

Bukan lubang keamanan

Baik :)

Tetapi bisakah kriteria untuk menyembunyikan pengguna dari satu organisasi pribadi ke organisasi lain ditambahkan? Mungkin opsional.
Atau setidaknya pemblokiran opsional rute "/explore/users" dan template yang sesuai...
Saya senang melihatnya di 1.8.x. Maaf, keterampilan saya saat ini di Go tidak cukup untuk menyumbangkan beberapa PR :(

@igsol Anda benar, saya telah memperbarui

Dalam pandangan saya, itu harus menjadi sesuatu yang dapat dikonfigurasi di dasbor admin pengguna. Saya juga berpikir ini cukup rumit dan saya tidak mengetahui semua solusi yang diusulkan. Pasti ada beberapa skenario: izin untuk melihat semua pengguna dari organisasi milik pengguna, untuk melihat semua pengguna, hanya melihat diri mereka sendiri, pengguna publik...

@techknowlogick tidak tahu apakah ini tempat yang tepat untuk mendiskusikannya dan di mana saya dapat menemukan info lebih lanjut tentangnya, tetapi saya telah membaca bahwa ini adalah garpu gogs yang dikelola oleh komunitas. Tidak yakin tentang perbedaan dengan gog, bagaimana mengintegrasikan fitur baru yang dikembangkan di gogs dan mengapa saya harus bermigrasi ke gitea atau tetap menggunakan gog, pro dan kontra. Mungkin Anda bisa mengarahkan saya ke suatu tempat untuk mendapatkan info lebih lanjut. Juga untuk mengatakan bahwa saya bukan programmer berpengalaman yang sedang bekerja, tapi entah bagaimana saya bisa berkontribusi juga, yaitu saya sedang mengerjakan terjemahan katalan.

@miqmago Berikut adalah perbandingan bermanfaat tentang apa yang ditawarkan Gitea vs Gogs: https://docs.gitea.io/en-us/comparison/ serta posting blog peluncuran yang menjelaskan tentang perbedaan tata kelola proyek: https:/ /blog.gitea.io/2016/12/welcome-to-gitea/

@igsol tiket ini tidak akan masuk ke rilis 1.8.x karena proyek hanya mendukung perbaikan bug, saat ini kami sedang berupaya mengeluarkan 1.9.x.

saat ini bekerja untuk mengeluarkan 1.9.x.

@techknowlogick Oke, saya mengerti, NP.

Sejauh ini saya membantu diri saya sendiri dengan membuat build pribadi lokal menerapkan tambalan saya yang cukup brutal (seperti yang disebutkan @miqmago , tetapi lebih sederhana). Hal utama adalah menerapkan tiket ini di akhir :)

Pokoknya terima kasih kepada semua tim untuk Gitea yang brilian.

1.9.0 dirilis. Apakah ada peluang untuk menarik perhatian pada tiket ini?

@igsol
Ini juga keinginan saya.

Apakah ini akan membantu?

8340

Bukankah ini akan menyembunyikan semua pengguna dari pandangan publik?

Hanya jika REQUIRE_SIGNIN_VIEW benar dan Anda belum masuk.

Hanya jika REQUIRE_SIGNIN_VIEW benar dan Anda belum masuk.

Jika REQUIRE_SIGNIN_VIEW benar, itu tetap disembunyikan. Kedua, itu masih akan menyembunyikan semua pengguna, yang bukan merupakan inti dari permintaan. Terutama, karena beberapa pengguna hanya ingin menyembunyikan satu pengguna dan saya pikir akan sedikit berlebihan jika Anda menyembunyikan SEMUA pengguna yang pernah dibuat hanya karena 1 akun sistem.

Oke maaf.

Jadi bisakah kami memperbarui Masalah.

Apa yang diinginkan?

konfigurasi baru: ALLOW_VIEW_USERS ?

Apa yang diinginkan?

Idealnya dari sudut pandang pribadi saya, saya menginginkan pengaturan yang dapat diatur oleh setiap pengguna seperti ini:

...
Sembunyikan akun dari tampilan publik [ ]
...

Yang akan berada di antara pengaturan lain seperti _Sembunyikan alamat email_.

Juga baik untuk memasukkannya ke dalam pengaturan admin, meskipun saya pikir membuat semua orang dapat memutuskan adalah solusi terbaik.

Jika ini akan diimplementasikan, semua repositori dari pengguna itu harus menjadi pribadi, yang merupakan IMHO perubahan non-sepele. Misalnya, repositori bercabang diperlukan untuk publik jika repositori sumber bersifat publik, sehingga keberadaan pengguna pada akhirnya akan terungkap.

Jika ini akan diimplementasikan, semua repositori dari pengguna itu harus menjadi pribadi, yang merupakan IMHO perubahan non-sepele. Misalnya, repositori bercabang diperlukan untuk publik jika repositori sumber bersifat publik, sehingga keberadaan pengguna pada akhirnya akan terungkap.

Idealnya, cara ini harus opsional. Saya melihat kasus penggunaan di mana Anda hanya ingin _unlist_ (seperti _unlisted_ video di YouTube) pengguna, yang berarti Anda tidak ingin pengguna ini ditampilkan secara mencolok seolah-olah dia adalah raja Gitea Anda, tetapi Anda tidak akan memiliki masalah jika dia disembunyikan di suatu tempat di hutan Gitea Anda. Contoh ini berlaku untuk contoh saya.

Idealnya, cara ini harus opsional. Saya melihat kasus penggunaan di mana Anda hanya ingin _unlist_ (seperti _unlisted_ video di YouTube) pengguna, yang berarti Anda tidak ingin pengguna ini ditampilkan secara mencolok seolah-olah dia adalah raja Gitea Anda, tetapi Anda tidak akan memiliki masalah jika dia disembunyikan di suatu tempat di hutan Gitea Anda. Contoh ini berlaku untuk contoh saya.

Tapi kemudian masalah ini harus berjudul "Batalkan daftar beberapa pengguna di Gitea". 😁

Idealnya, cara ini harus opsional. Saya melihat kasus penggunaan di mana Anda hanya ingin _unlist_ (seperti _unlisted_ video di YouTube) pengguna, yang berarti Anda tidak ingin pengguna ini ditampilkan secara mencolok seolah-olah dia adalah raja Gitea Anda, tetapi Anda tidak akan memiliki masalah jika dia disembunyikan di suatu tempat di hutan Gitea Anda. Contoh ini berlaku untuk contoh saya.

Tapi kemudian masalah ini harus berjudul "Batalkan daftar beberapa pengguna di Gitea". 😁

Saya pikir judul yang paling akurat adalah "Sembunyikan atau Hapus Daftar pengguna". Menyediakan kedua opsi akan menjadi solusi yang bagus.

Fitur-fitur ini juga harus tersedia untuk organisasi, tentu saja.

+1 untuk sembunyikan (semua) pengguna ketika saya tidak masuk, penjelajah + API, tetapi, ketika saya masuk, saya ingin melihat (semua) pengguna.

Saya menggunakan MariaDB.
Dengan users.tmpl saya tidak dapat menerapkan apa yang saya inginkan, karena, ketika saya masuk saya tidak dapat melihat pengguna juga.
API selalu dapat mencantumkan semua pengguna.

Saya perlu menampilkan pengguna dari tampilan publik, tetapi, tidak semua pengguna.

cd /etc/gitea
nano app.ini
REQUIRE_SIGNIN_VIEW: benar
Bekerja dengan sangat baik! Tapi, opsi ini ekstrem!
Aspek keamanan sekarang dihormati, tetapi kami lebih suka untuk dapat memilih apakah akan terlihat atau tidak, sebagai pengguna publik atau pribadi.

+1, kita perlu menyembunyikan tab ExplorerUser ATAU memilih pengguna mana (lokal atau ldap) yang harus terdaftar di daftar ExplorerUser ... mudah untuk mengambil login pengguna lalu memaksa mereka ... atau apa pun
Terima kasih untuk alat yang luar biasa ini., gitea

REQUIRE_SIGNIN_VIEW = benar

Tampaknya melakukan trik.

@Braqoon Anda tidak membaca percakapan. Itu tidak "melakukan trik".

Akan sangat bagus jika ini bisa diterapkan.
Saya ingin mengekspos beberapa repo (publik) saya kepada orang-orang yang tidak terdaftar di instance gitea saya, tetapi saya tidak ingin menunjukkan kepada mereka semua pengguna terdaftar saya (termasuk admin). Seperti yang disebutkan @theAkito , cukup REQUIRE_SIGNIN_VIEW = true tidak menyelesaikan masalah.

Sunting:
Lebih buruk lagi, saya baru saja memeriksa API-Call curl -X GET "http://gitea/api/v1/users/search" -H "accept: application/json" seperti yang disebutkan oleh @shuhaowu. Bahkan Pengguna yang tidak terdaftar dapat dengan mudah mengetahui informasi penting seperti is_admin atau last_login . Dari segi keamanan, ini adalah larangan mutlak.

Saya sangat setuju akan sangat berguna untuk menyembunyikan pengguna yang tidak memiliki repo publik. Katakanlah saya menambahkan beberapa pengguna untuk mengomentari masalah pada proyek pribadi, akan sempurna jika mereka dapat dibuat tidak terlihat dalam daftar jelajah!

Akan sangat bagus jika tidak menampilkan pengguna yang tidak memiliki repo publik

Saya melihat banyak komentar di sini tetapi tidak ada spesifikasi atau proposal tentang cara mengkonfigurasinya.

Konfigurasi yang masuk akal yang dapat menjaga sistem saat ini dan menawarkan pandangan terbatas yang diusulkan kemungkinan akan mengarah pada implementasi.

Misalnya, blok konfigurasi yang disarankan:

[explore.users]
REQUIRE_SIGNED_IN=false ; set to true to only allow signed in users to see this page
ONLY_SHOW_USERS_WITH_PUBLIC_REPOS=false ; set to true to only show users with public repos
...

dan seterusnya.

Maka itu akan sederhana untuk diterapkan.

@zeripath pendekatan yang Anda berikan tampaknya masuk akal bagi saya dan harus mencakup sebagian besar kasus informasi yang terbuka, jika perubahan konfigurasi yang diterapkan memengaruhi Akses API juga.

Dari pihak kami, kami pikir masalah ini adalah masalah keamanan yang serius.

Gitea membocorkan informasi pribadi penting: Nama Depan, Nama Belakang, login, email, tanggal pembuatan (ketika mereka bergabung dengan organisasi kami).

Dalam kasus kami, Gitea menggunakan otentikasi LDAP dan pada dasarnya membocorkan semua informasi anggota kami, tanpa cara apa pun untuk membatasi/menghentikan kebocoran itu.

REQUIRE_SIGNIN_VIEW tidak dapat digunakan karena merusak repositori publik. Memblokir /api/v1/users/search endpoint merusak kemampuan untuk menambahkan pengguna ke repositori.

Akan sangat dihargai memiliki setidaknya cara untuk membatasi kebocoran ke pengguna yang diautentikasi.

@fluboi untuk saat ini Anda dapat membatasi akses API ke pengguna yang diautentikasi

EDIT: sepertinya tidak ada pengaturan untuk API saja :/

Sangat mengecewakan melihat orang berulang kali mengomentari masalah ini tanpa menawarkan spesifikasi atau konfigurasi yang diusulkan, atau mengomentari kekurangan atau peningkatan pada spesifikasi yang saya usulkan di sini: (https://github.com/go-gitea/gitea/issues/2908 #issuecomment-670616617)

Jika ada lebih banyak tanggapan dan pertimbangan atas komentar saya yang bekerja bersama tentang apa yang diperlukan dan apa yang akan berhasil, ini akan dapat diterapkan beberapa bulan yang lalu.

Seperti berdiri saya telah mengusulkan PR untuk menutup ini tapi saya tidak tahu apakah itu cukup.

Terima kasih atas pekerjaan Anda @zeripath dan maaf atas komentar saya sebelumnya yang mengecewakan.
Dari apa yang saya pahami, PR Anda memenuhi kebutuhan kami.
Terima kasih lagi

Jika ada lebih banyak tanggapan dan pertimbangan untuk komentar saya bekerja sama

Saya pikir alasannya bukan kemalasan atau niat jahat, melainkan kurangnya pemahaman tentang backend dan bahkan mungkin bahasa yang digunakan untuk menulisnya. Sejauh yang saya lihat, kebanyakan orang di sini tidak tahu tentang Go, sebagaimana adanya. hanya pengguna server ini dan bukan pengembang.
Saya tidak dapat berbicara terlalu banyak tentang semua orang yang tidak saya kenal ini, tetapi saya dapat berbicara untuk diri saya sendiri:
Saya tidak mengerti backend Gitea dan saya tidak ingin terlibat dengan Go, karena saya tidak suka bahasanya dan sudah ada banyak programmer Go di luar sana, jadi tidak perlu melakukan hal lain dalam hidup, yang tidak perlu. Misalnya, jika backend ditulis dalam Nim, saya akan dengan senang hati berkontribusi, bahkan mungkin memperbaiki masalah ini sendiri, karena Nim sebenarnya menyenangkan dan murni kenikmatan, sedangkan Go adalah tugas dan gangguan murni, bagi saya pribadi. Namun, jika itu masalahnya, mungkin semua kontributor saat ini akan pergi, karena mereka lebih memilih untuk tetap bersama Go.

Saya juga berpikir, tidak masuk akal jika orang menambahkan ide acak mengenai implementasi, jika mereka tidak tahu tentang struktur backend dan/atau bahasanya. Mungkin yang terbaik, jika mereka yang paling berpengetahuan memutuskan implementasi, terutama mengenai fitur berorientasi keamanan, yang biasanya penting untuk diimplementasikan dengan benar dan tidak harus indah.

Tentu saja, ini adalah proyek open source dan Anda atau kontributor lainnya tidak memiliki kewajiban untuk mengimplementasikan apa pun, kecuali mungkin untuk sponsor besar, yang hanya mensponsori begitu banyak untuk manfaat ini. Saya pikir kita semua mengerti itu.
Namun, orang-orang di sini ikut-ikutan, menjelaskan masalah mereka, menekankan pentingnya hal itu, dengan harapan bahwa kepemimpinan Gitea akan mengatasi masalah ini secepatnya, alih-alih begitu banyak masalah lain dalam repositori ini yang malah ditangani. Jadi semua orang di sini meminta, bukan untuk melakukan lebih banyak pekerjaan, tetapi hanya untuk mengubah fokus masalah. Sederhananya: buang masalah lain dan alih-alih selesaikan yang ini.

Itu sebabnya saya pikir itu sah untuk berpadu di sini, menekankan pentingnya masalah ini, bahkan jika orang yang memposting komentar tidak punya waktu, minat, atau hanya tidak memiliki pengetahuan untuk membantu penerapannya. Kebanyakan orang di sini hanyalah pengguna, seperti saya juga.

Saya pikir alasannya bukan kemalasan atau niat jahat, melainkan kurangnya pemahaman tentang backend dan bahkan mungkin bahasa yang digunakan untuk menulisnya. Sejauh yang saya lihat, kebanyakan orang di sini tidak tahu tentang Go, sebagaimana adanya. hanya pengguna server ini dan bukan pengembang.

Saya tidak bisa lebih setuju. Saya seorang pengembang tetapi tidak di Go dan saya belum meluangkan waktu untuk membiasakan diri dengan kode dasar dan cara kerja aplikasi sehingga tentu akan kontraproduktif untuk mengomentari implementasi dan kemudian saya hanya menyampaikan kebutuhan pengguna saya!
Tapi saya BENAR-BENAR menghargai pekerjaan yang dilakukan (mempertahankan proyek open source lainnya, saya tahu itu bukan tugas yang mudah dan umpan balik pengguna tidak selalu seperti yang Anda harapkan!).

Harap tetap pada topik, jika Anda tidak memiliki sesuatu untuk ditambahkan tentang masalah tertentu, jangan berkomentar.

Sekedar catatan tambahan dan semoga diskusi di luar topik ini berakhir: tidak ada kontributor Gitea yang dibayar untuk mengembangkan fitur baru atau memperbaiki bug, kita semua melakukannya di waktu luang, jadi kecuali jika seseorang bersedia mensponsori fitur atau pengembangan tertentu, semua orang termasuk kontributor Gitea bebas untuk mengembangkan apa pun yang mereka suka dan "kepemimpinan" Gitea tidak menentukan apa yang perlu dilakukan kontributor lain ketika mereka mencurahkan waktu luang mereka untuk proyek ini mengembangkan fitur yang mereka butuhkan atau bersenang-senang lakukan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat