###前提
お世話になります。
PHPもMysqlもかじりたての初心者の質問となりますが、ご指導ご鞭撻のほどよろしくお願いいたします。
社内システムとしてSSOを導入している途中でして、IDパスワードを用いてログインしているシステムを一元化する予定です。
その一環として今回、社内専用のデータベースのログインもSSOにて実現する流れとなりました。
◆現在のサイト構造
データベースはphpとsqlベースで作成されており、現状ではBasic認証をかけております。
構造としましては以下のとおりです。
◆改装後のサイト構造
これを導入するシステムの都合上、Basic認証を無くしてSAML2.0に対応させたフォームにてログインさせるよう、
下記のように作り替える必要がございました。
現在ここまでは実現した状態となっておりますが、上図右下箇所に赤丸で示したとおり、
URLを知っているユーザーなら誰でも直アクセスすることで、サイトにアクセスできてしまいます。
###実現したいこと
既存のサイトに後付けで会員専用ディレクトリを設定したいです。
また、前述いたしましたとおり、basic認証を使用せずログインフォームでログインしたユーザー以外をアクセスさせない必要がございます。
###試したこと
・htaccessによるアクセス制限
[php]会員制サイトで特定のディレクトリ内をアクセス制限する
[https://iritec.jp/web_service/2990/]
記事を参考にindex.phpに直接アクセスした場合の処理を書こうとしましたが、
.htaccessのphpに対する”Action"の部分が分からなかったこと、認証処理判断が分からなかったことから断念いたしました。
・変数を用いたログイン判定
$id = $_POST['id']で入力されているid情報を取得し、if($id = "hoge")ならばページを表示しようとしました。
しかしながらすべてのページでページ遷移時にPOSTしているわけではないため、実装を断念いたしました。
いくつか方法は試したもののどうにも上手く動かせない状況となっております。
そもそもこの考え方が合っているかどうかや、もっとこうしたほうが良いという意見でも構いませんので、
皆さまのお力をお借りしたく、今回質問させていただきました。
何卒よろしくお願い申し上げます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/01 09:33