Allow login to a read-only site

I did an import of some Wordpress data to an already active site. I thought it would be a Good Idea to put the site in read-only mode while I was doing the import so that people wouldn’t add data to the site that would get erased when the site + import_data was uploaded.

That’s a Bad Idea. Now I can’t log in. On a self-hosted site, you can fix this from the rails console, on a hosted site, however, you’re stuck (I just emailed team). I tried /users/admin-login, but it can’t work either (obvious in retrospect).

This doesn’t seem like that much of an edge case, shouldn’t there be a way to freeze a site that still allows admins to log in?

「いいね!」 4

Just log in before you start read only. Seems simple enough?

Certainly simpler than “we must invent a time machine!”

Yeah, but somehow my cookies must have been deleted or something. Or what if the guy who put the site in read-only got hit by a bus?

「いいね!」 5

As an alternative (or addition), perhaps a way to set a timer when enabling Read Only? Something like: Enable Read Only for: X hours.

Or maybe a special URI specifically to disable read only mode? Something like /admin/read-only which displays a login box for an administrator account and then disables read only when the credentials are correct. That wouldn’t need write-access to the database I imagine (only read to check the credentials).

「いいね!」 1

Yeah. If I’d thought ahead to have an API key I probably could have fixed it that way. One of my plans is a remote control panel to do things like that. I think that there are a handful of tasks that it would be handy to be able to do via API calls via a remote web interface. Things like:

  • Creating sets of categories with certain colors and permissions for a particular purpose
  • control settings for sets of users
  • help to walk a user through Wordpress integration

It seems a little bizarre to build a web interface to remotely control a web app, but plugins get stale, and hosted people can’t install them anyway.

「いいね!」 1

[quote=“pfaffman, post:1, topic:54270”]
それは危険な考えです。これでログインできなくなりました。セルフホストサイトならrailsコンソールから修正できますが、ホスト型サイトの場合は手がつけられません(さっきチームにメールしました)。/users/admin-loginを試しましたが、これも機能しませんでした(後から考えれば当然ですが)。[/quote]

私も今日、ほぼ同じ事態になりました。
このモードを有効にした後、たまたまシークレットウィンドウのタブを閉じると、もうログインできないなんて知りませんでした!!!

なんてことだ!!!
自分自身をロックアウトするなんて、こんなに簡単だったなんて!!!
そして、読み取り専用モードを無効にしてわずか5分以内にこの投稿に偶然出会えたなんて、奇跡以外の何物でもありません!!!
これからは、管理設定をいじりたいときに、このことを忘れないようにします!!!

「いいね!」 1

このトピックをお読みの方へ、類似のトピックで解決策を見つけました こちら

もしロックアウトされた場合は、Rails コンソールで以下のコマンドを実行して「読み取り専用」モードを無効にできます。

Discourse.disable_readonly_mode(Discourse::USER_READONLY_MODE_KEY)

「いいね!」 4