私はこれまで悲惨なアクセス制御を持っていて、できるだけ早く適切な解決策が必要なアプリケーションに取り組んできました。私はCookbookのチュートリアルに従ってCakePHP AuthとAclコンポーネントを追加しました。手動でユーザーを追加すると、適切にArosテーブルにエントリが作成され、SHA1はパスワードをハッシュします適切に、すべての良いもの。CakePHPアプリケーションにACLを追加する
私のスキルレベルを少し超えていることが判明しているビット用です。新しいシステムの下でユーザーになる必要があるデータベースには1000以上の名前があります。私はそれらをMySQLクエリでUsersテーブルにダンプしようとしましたが、2つの問題があります:
(1)このようにすると、arosテーブルにエントリが作成されません。私はかなりの時間を作業するためにこれを装備することができますが、私が知りたいかもしれないショートカットはありますか?
(2)これは、私の頭を傷つけるものです。手動でユーザーを追加すると、パスワードは自動的にSHA1でハッシュされます。ユーザー/ログインページからログインすると、入力したパスワードとdbのハッシュパスワードが正しく一致し、アクセスできます。しかし、私がデータベースに直接ダンプしたパスワードに何をしても、ログインページを取得してアクセス権を与えることはできません。当初、MySQL SHA1関数を使ってハッシュしました。ケーキは余分な塩に振りかけるので、これはいい考えではないかもしれないと私は理解しています。私はCakeのSecurity :: hash関数を通してそれらをハッシュしようとしました。私はCakeが各パスワードをUsersテーブル自体に保存するようにしていました。
これらのいずれの場合も、これらのユーザ名とパスワードの組み合わせのいずれかを使用してログインすることはできません。パスワードは良く見え、ハッシュされていて、Security :: hashを適用した後に入力したパスワードと一致します。何が欠けていると私はこれを働かせることができますか?
既に使用しているユーザーのパスワード(従来のアプリケーション_から_)は既にハッシュされていますか? – joeb
@joeb、いいえ、以前はハッシュしていませんでした(ややこしい)。それはヘッドスケーターです。 – thesunneversets
CakePHPとMySQLのSHA1関数の間に問題があることを確認しましたか?私はその問題を見ているようです。 –