問題タブ [zend-auth]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Zend フレームワークの残りの部分から独立して zend_auth を使用する単純な認証
私はphp Webアプリのログインシステムに取り組んでいます。独自のシステムを展開することの危険性を認識しているので、何らかのビルド済みライブラリを使用したいと考えています。
いくつかの場所で zend_auth が推奨されているのを見てきました。また、zend_auth は他の Zend フレームワークとは独立して使用できるとも聞きました。私のアプリはどのフレームワークにも依存していないため、これが望ましいでしょう。認証のためだけにフレームワーク全体をインストールするのは気が進まないからです。
私は Zend の経験がなく、マニュアルのドキュメントが少しわかりにくいと感じています。私は疑問に思っています: zend_auth に基づいたシンプルな認証システムをセットアップする方法を説明するのに役立つリソースを知っている人はいますか? Zend フレームワークの残りの部分に依存していませんか?
ご協力いただきありがとうございます、
php - ZendAuthとZendACLを使用したPHPユニットテスト
ログインの背後にあり、zend_aclとzend_authを利用するアプリケーションがあります。
ディスパッチ前に、ACLのすべてのルールを作成するACLプラグインがあります。また、ログインしているかどうか、ログインしているかどうか、ACLに従って要求されたリソースにアクセスできるかどうかを確認するAuthプラグインもあります。
アプリケーションは完全にログインの背後にあるため、ACLはログインしている場合にのみ作成されます。
これをユニットテストすることは不可能であるように思われます、あるいはむしろ私が明白な何かを見逃している可能性が高いです。
単体テストのセットアップメソッドでは、zend_authインスタンスを返すログインの成功をシミュレートします。合格したテストは、このログインが成功したことを示しています。
ただし、テストを通じて別の場所にディスパッチしようとしたり、ログインしたユーザーが特定のリソースにアクセスできるかどうかを評価したりすると、まだログインしていないため、プラグインによって常に拒否されます。これがなぜであるかはわかりません。 、誰かアドバイスできますか?
たとえば、これは次のように合格します。
プラグインによって拒否されるため、これは失敗します。
これは、プラグインがユーザーがログインしていることを認識していないため、まだログインページにリダイレクトしているように見えることを発見しました。
どんな助けでも大歓迎です。
php - Zend_Auth: ユーザーが複数のテーブル/ID にログインできるようにする
Zend_Auth
Web ポータルでの認証に使用しています。
login
and列を持つ通常の mySQL "users" テーブルpassword
に対してクエリが実行され、ユーザーがログインします。
ただし、認証したいユーザーのグループが 2 つあります。これら 3 つのユーザー グループはすべて、他のテーブルにログオン データを持っています。それらのデータは外部ソースから取得されるため、これらのログイン アカウントを 1 つに統合することは望ましくありません。
そのため、ユーザーは 3 つのグループのいずれか、さらには 3 つすべてのグループの認証済みユーザーである可能性があります。
3 つのログイン グループのそれぞれに、独自のログイン フォームとログアウト ボタンがあります。
現時点では、Zend_Auth
いくつかのチュートリアルから取得し、わずかに変更した単一の単純なログインがあります。これは、おおよそ次のようになります。
このサービスを提供し、3 つのグループの個別の「ログイン」状態に対処するには、どこから始めなければなりませんか? 私の考えは、セッションを共有し、認証を個別に管理したいということです。
これは可能ですか?これを簡単にする簡単な接頭辞があるのではないでしょうか? この問題に関するチュートリアルやリソースはありますか?
私は Zend Framework の比較的初心者です。
php - いくつかのサイトにサインオンする
私は 2 つのサイト (example.com、ex2.com) を持っています。Fisical は 1 db の 1 サイトです。ユーザーが ex2.com で歌ったとき、彼は example.com でも歌っていました。どうやってこれを行うのですか?
PS ZFでこれを行うことはできますか?
このトピックに関する非常に興味深い記事を見つけました。著者は、マルチドメイン認証を実装する方法についていくつかのアイデアを提供しています。 http://codeutopia.net/blog/2008/09/25/sharing-authentication-over-multiple-sites-single-sign-on/
php - Zend_Feedを使用してセキュリティで保護されたRSSフィードを作成する
安全なWebサイト(Zend_Authを使用)にあるZend_Feedを使用してrss(またはatom)フィードを作成することは可能かどうか疑問に思いました。
ユーザーはどのようにして私のフィードを購読できますか?フィードリーダーは認証をどのように処理しますか?知っておくべき落とし穴はありますか(私が考えることができるのは、Outlook、IE、およびその他のツールをフィードに使用しているユーザーです)。
私が十分に明確であることを願っています。前もって感謝します!ps:私はこの投稿を見ましたが、それは.netについてであり、それが私の質問にどのように答えるかわかりません。
編集:Zendにも当てはまる場合は、この質問に対するより一般的なphpの回答を気にしません。
php - AuthStorage、Zend フレームワークを読む
私のプロジェクト Web サイトでは、ユーザーはログインすることで、ログインしてサイトのページ間を移動できるため、ページの別のセクションに移動するために再度ログインする必要はありません。これを実現するために、Zend_Auth のストレージを使用します。
次のコードは、ストレージの書き込み方法を示しています。
ここで、別のコントローラーでこのストレージを読み取ろうとします。
...しかし、$user は null のままです。その問題を解決する方法はありますか?
php - Zend_Auth setCredentialTreatment
ハッシュメソッドとソルトを設定するためにZend_Auth
withを使用しています。setCredentialTreatment
私はすべての例がこのようなことをしているのを見ます、そこではsalt
テキストとして挿入されているようです。
-> setCredentialTreatment('SHA1(CONCAT(?, salt))'
しかし、私のソルトはデータベースに保存されています。最初に取得してから使用することもsetCredentialTreatment
できますが、フィールド名として直接定義できる方法はありsetCredentialTreatment
ますか?そのフィールドから取得することを知っているでしょうか?ユーザー名またはパスワードのフィールド名を定義する方法のようなものです
私が抱えている副次的な問題は、SHA1ではなくSHA512を使用したいということです。これは可能ですか、それとも利用できませんか?SHA1を使用して見たすべての例。
私はzendにかなり慣れておらず、既存のアプリケーションを移植していると言わなければならないので、答えを簡単に教えてください。
php - 最も機能豊富な認証やアクセス制御を提供するPHPフレームワークはどれですか?
現在、 Zend Frameworkの一部であるZend_Authを調査していますが、ナンス、認証トークン、ロックアウトなどのより高度な機能がないことに失望しています。最近のプロジェクトの1つで、認証とACL(アクセス制御)を実装しました。リスト)次の機能を備えたスキーム:
- 塩漬けハッシュ
- 自動IPアドレスロックアウト
- ノンス(いくつかのタイプ)
- 認証トークン(セッション全体にわたって保持されます)
この機能を抽象化して再利用可能な認証クラスを作成できれば素晴らしいのですが、機能豊富な認証モジュールがすでに存在するかどうかに興味があったので、作業を節約できました。そうでなければ、私は間違いなくそうします。
私の質問はこれだと思います:現在どの(データベースベースの)認証モジュール/スキームを使用していて、その機能に満足していますか?具体的には、上記の機能をサポートするものを使用している人はいますか?
ご返信をお待ちしております。
php - Zend Auth ロック セッション
Zendがセッションを処理する方法にほとんど不満を感じていました。
これが私の場合です。Zend_Auth を使用してユーザー資格情報を常にチェックする認証プラグインを作成します。zend auth から hasIdentity 関数を呼び出すと、自動的にセッションが開始されます。
問題は、実行する必要がある長いプロセスがある場合に発生します。セッションは、リクエストが完了するまでリクエストをロックします。Zend_Session::writeClose(false) を呼び出してロックを解除しようとすると、別のリクエストを実行できるようになります。しかし、セッションを再開する方法はありません。
停止したセッションを再開しようとすると実装が悪いのでしょうか?
開始からリクエストの実行が終了するまでのセッションは 1 つだけですか?
ありがとう。
ps : ここで少しハックできます。認証プラグインの最後に、ネイティブ php 関数 (session_write_close) を記述し、コントローラーがセッションを再度使用する必要がある場合は、(session_start) で再度開始します。
php - Zend_Auth実装のリファクタリング
ログインできる領域が2つある既存のプロジェクトに取り組んでいます。管理セクションとフロントエンド。
現在、管理セクションにはログインアクションがあり、フロントエンドには独自のログインアクションがあります。管理者は、管理者アカウント専用のデータベーステーブルを使用してログインします。フロントエンドは、別のテーブルを使用してまとめてログインします。
管理者がログインしてフロントエンドにログインしようとすると、フロントエンドユーザーとしてログインするように求められます(フロントエンドユーザーは、関連付けられているプロジェクトに基づいてまったく異なるコンテンツを取得し、管理者は1つに関連付けられていないため必要です)特定のプロジェクト)。
フロントエンドユーザーとしてログインすると、管理者の資格情報が失われ、管理者セクションに再度アクセスしようとすると、再度ログインする必要があります。
管理者が管理セクションにログインし、特定のフロントエンドユーザーとしてログインできるようにしたいと思います。したがって、再ログインせずにサイトの2つのセクションを切り替えることができます。
Zend Framework内でこれを処理するための最良の方法は何ですか?
これまでのところ、個別のログインアクションを失い、1つだけにすることを考えています(2つは必要ありません、正しいですか?)。次に、個別の資格情報の許可に対処する必要があります。
現在、フロントエンドユーザーとしてログインすると、管理者ユーザーは管理領域にアクセスするために再度ログインする必要があります。これは、一部の$ _SESSIONクレデンシャルが上書きされているためですか?これをZFの方法で処理するには、どういうわけかカスタム$ _SESSION変数を作成する必要がありますか?
明らかに、$ _SESSION['front_end']または$_SESSION['admin'](以前は行っていたはずです)に直接値を割り当てることはできません。ZendFramework内でこれをどのように行うのでしょうか。
ありがとう!