ログインシステム


ログイン画面の構築: /

システムの構成図にある通り,本システムはログインして認証されたユーザーのみが使用できるようになっています。そのため,ログインしていないユーザーに対しては必ずログイン画面に強制的に移行させるようにしなくてはなりません。ここで構築するapp.jsにおける/アクセス時には,システムのトップに位置するインデックスファイル(後述)を表示するとともに,ログインのためのフォームを提供するシステムへの入口となるようなコードでなければなりません。

完成したログイン画面

ログイン画面:challenge/static/index.html

メインアプリケーションスクリプト:challenge/app.js

レイアウトテンプレート:challenge/static/layout.pug

トップページテンプレート:challenge/static/top_page.pug

ログアウト時のテンプレート:challenge/static/logout.pug

ログイン失敗時のテンプレート:challenge/static/login_error.pug

インデックスファイルとは?

URLの表記として,末端がスラッシュ(/)で終了する文字列で与えられることがあります。例えばhttps://sist.ac.jp/https://cs-tklab.na-inet.jp/nodejs/といったものがそれに当たります。スラッシュが省略されることもありますが,その際には自動的に補われています。

このようなURL指定の場合,Webサーバは対応する自身のフォルダ(ディレクトリ)に存在する特定の名前のファイル,あるいは,スクリプトを呼び出して処理を行います。これをインデックスファイル(index file)と呼び,例えばXAMPP for WindowsのApacheでは,設定ファイル(httpd.conf)の中でDirectoryIndexオプションとして次のようにインデックスファイル名を指定しています。

<IfModule dir_module>
DirectoryIndex index.php index.pl index.cgi index.asp index.shtml index.html index.htm \
default.php default.pl default.cgi default.asp default.shtml default.html default.htm \
home.php home.pl home.cgi home.asp home.shtml home.html home.htm

</IfModule>

この並びの順に,もしそのディレクトリに(1)index.php(PHPスクリプト)があればまずこれを最初に呼び出し,存在していなければ(2)index.pl(Perlスクリプト)を,なければ(3)index.aspを・・・というようにインデックスファイルを探して処理を行います。index.htmlは6番目にありますので,これもインデックスファイルの一つになります。

本システムのように,どんなアクセスに対しても真っ先に呼び出すべきファイルやスクリプトのファイル名は,このインデックスファイルになり得るものにしておいて下さい。


Copyright (c) 2014-2022 幸谷研究室 @ 静岡理工科大学 All rights reserved.
Copyright (c) 2014-2022 T.Kouya Laboratory @ Shizuoka Institute of Science and Technology. All rights reserved.