Re: ログイン画面のURLを変更する方法
1. /custom_login の作成
/concrete/core/controllers/login.php を
/controllers/custom_login.php にコピー
class Concrete5_Controller_Login を
class CustomLoginController に変更
コード内の /login を /custom_login に変更
/concrete/single_pages/login.php を
/single_pages/custom_login.php にコピー
こちらは内容変更無しでいけると思います
2. シングルページの追加
管理画面のシングルページのページから、custom_loginを追加してください。
3. /custom_login のテーマを変更
/config/site_theme_paths.php を開く
このファイルがシングルページのテーマ変更用のファイルです。オーバーライドできるのですが、ファイル名が違うので注意なのです
下記を追記してください
$v = View::getInstance();
$v->setThemeByPath('/custom_login', VIEW_CORE_THEME);
4. /login の無効化(オーバーライド)
/controllers/login.php を作成
中身をコレにしてください。アクセスするとトップページにリダイレクトします
<?php
defined('C5_EXECUTE') or die("Access Denied.");
class LoginController extends Controller {
public function view(){
$this->redirect('/');
}
public function logout() {
$this->redirect('/custom_login/logout');
}
}
で、自分はどうしてるかという話ですが、ログインURLを隠すことが必要な案件の場合は、 LoginController をオーバーライドして処理を加えて、特定のハッシュがURLパラメーターに付加されていないとトップページにリダイレクト、にしています。ハッシュはconfig/site.phpに保存しておくと、運用中にログインURLを定期的に変えることも可能です。
多摩勉強会/遠藤
Re: ログイン画面のURLを変更する方法
有り難う御座いました!
ほぼ教えて頂いた通りで、無事に変更出来ました。
ここだけ、phpスクリプト内にpathがコーディングされていたので、
その部分を/custom_login
に変更する必要がありました。
それ以外は、教えて頂いた通りの修正で大丈夫でした。