問題タブ [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.

0 投票する
3 に答える
3636 参照

php - ユーザー プロファイルの編集後に Zend_Auth_Storage を更新する

次のような状況があります: ログに記録されたユーザー、DB テーブルを使用した標準認証

ユーザーがプロファイルを編集したら、それを Db に保存しますが、ストレージも更新する必要があります (標準の Zend_Auth_Storage_Session を使用)。それを行う簡単な方法はありますか?どうもありがとう。

0 投票する
1 に答える
232 参照

sql - Zend Framework: 認証されたユーザーの名前を取得するにはどうすればよいですか?

これを行うことでユーザー名を取得できます:

「username」は、ID を検証するテーブル内の列です。「firstname」もそのテーブルの列です。Zend_Auth はユーザー名のみを保存しますか? または、テーブル内のユーザーの行から他の列にアクセスする方法はありますか?

0 投票する
3 に答える
1606 参照

zend-form - すべてのコントローラーの Zend フレームワーク共通コード

Web サイトのヘッダーにログイン ボタンがあります。このヘッダーの html は、Zend フレームワークの views/layouts/home.phtml にプログラムされています。

このレイアウトには、jQuery シックボックス インライン コンテンツ表示統合によってトリガーされる非表示のフォームがあります。理由は、小さなログインフォームを取得するためだけに ajax 呼び出しを行いたくないからです。

Zend_Form を使用してフォームを作成しましたが、問題は、ユーザーがログインしているかどうかを確認した後、すべてのコントローラーでフォームを作成する必要があることです。このフォーム生成をブートストラップなどの 1 つの場所に配置し、ブートストラップに、ユーザーがログインしている場合はフォームを生成しないというロジックを持たせたいと考えています。

ブートストラップがそうするのに適切な場所なのか、それとも他の場所でやるべきなのかわかりません。

したがって、ユーザーがログインしていない場合にどこでも使用できるように、どこでフォームをインスタンス化する必要がありますか。

0 投票する
1 に答える
651 参照

zend-framework - データマッパーを使用した Zend_Auth_Adapter

ここでの最初の投稿なので、初心者のようでしたら申し訳ありません。

データマッパーで Zend_Auth_Adapter を使用する方法を見つけようとしていますが、苦労しているようです。Zend_Auth_Adapter_DbTable を使用してこれを db テーブルに関連付けることができることはわかっていますが、これはデータ マッパーを使用する理由全体を無効にしているようです (私が思うに)?! マッパーを使用してデータソースとして必要なものを選択できるように、マッパー用のカスタムアダプターを作成する必要がありますか?

0 投票する
2 に答える
953 参照

zend-framework - Zend_Auth で、stdClass の代わりにドメインモデルの User オブジェクトを取得できますか?

アプリケーションのログイン部分で作業しているときに、次の問題に遭遇しました。

私のモデルは Active Record に基づいており、Zend_Db_Table_Row オブジェクトを拡張しています。ユーザーに対処する必要があるときはいつでも、User オブジェクト (拡張されたテーブル行) を介してこれを行いたいと思います。ただし、Zend_Auth_Adapter_DbTable::getResultRowObject() は stdClass を返すため、Zend_Auth_Adapter_DbTable に特定の Db_Table を使用するように指示する方法が見つかりません。

これまでに見つけた3つのオプション:

  1. カスタム Zend_Auth_Adapter を作成して、適切なクラス オブジェクトを返します (内部で Zend_Db_Table を使用)。

  2. 認証後、stdClass の読み取りと User オブジェクトの書き込みを実行します。実際に Zend_Db_Table を使用せずに Zend_Db_Table_Row クラスを作成できますか?

  3. Active Record から完全なドメイン駆動開発に移行し、データ アクセスをユーザー オブジェクトから分離します。次に、2 番目のマッパーを作成して、User オブジェクトをテーブル行ではなく stdClass で埋めます。

私の 2 つの質問: これらのうちどれをお勧めしますか? そして、私が見逃しているものはありますか?

これらのいずれかを実行してから、フレームワークに明らかな何かが欠けていることに気付くのは嫌です。これを行うための「適切な」方法があるかどうかは誰にもわかりませんか?

よろしく、サンダー

0 投票する
2 に答える
2361 参照

zend-framework - Zend_Authがストレージへの書き込みに失敗する

Zendで起こっているさらに別の奇妙な厄介なことがあります。

基本的に、ユーザードメインを作成した後、次のコードがあります。

ひどくイライラするのは、その直後にauth-> getIdentity()が発生することです。

したがって、ここからさらに悪化します。更新した場合、またはフォームの他のパラメーターのいずれかが失敗して同じフォームに送信された場合、上記のスクリプトに触れずに、auth-getIdentity()は正しく次を返します。

これは、コードが正しく機能していることを意味しますが、フォームに正しく入力され、すべてがうまく追加された場合は、次のステップにリダイレクトします:$ this-> _ redirect('nextstep')、idSiteもurlSiteも永久に空のままになりません。

どうしてこれなの?なんで?

0 投票する
3 に答える
703 参照

zend-framework - ユーザー名または電子メールをidentityColumnとして使用するZend_Authログイン

「データベーステーブル認証」で Zend_Auth を使用しています。私がしたいのは、ユーザーが「identityColumn」としてユーザー名または電子メールアドレスを使用してログインできるようにすることです。どうすれば両方を許可できますか。私は立ち往生しています。

0 投票する
3 に答える
10375 参照

zend-framework - Zend_Auth ストレージはどのように機能しますか?

これは非常に簡単です。私は書きます

そして、別のプロセスでこの $user をロードしたいのですが、できません。

空です。私はちょうど...それを設定しませんでしたか?うまくいかないのはなぜですか?ハーフ?

[2011 年 4 月 13 日編集]

これはほぼ2年前に尋ねられました。しかし、2010 年 7 月にこの質問を繰り返したところ、当時の私にはまったく理解できなかった素晴らしい回答が得られました。

リンク: Zend_Auth がストレージへの書き込みに失敗する

それ以来、Zend_Auth と同じストレージ エンジンを使用しながらすべての悪い点を回避しながら、すべてのプロジェクトで (場合によっては微調整を加えて) 使用する非常に優れた小さなクラスを作成しました。

0 投票する
2 に答える
1860 参照

zend-framework - Zend_Auth: 機能しない、getDbSelect() が空です

認証に失敗し、getDbSelect() を実行しようとしても何も得られません...何が間違っていましたか?

更新 1:

私はMVCなしで、私がより精通しているMySQLでも試しました:

; } } そうしないと { // リクエストは投稿されていません // すでにログインしているかどうかを確認する if (Zend_Auth::getInstance()->hasIdentity()) { echo "すでに次のユーザーとしてログインしています: " . Zend_Auth::getInstance()->getIdentity(); } }

私は得る

致命的なエラー: キャッチされない例外 'Zend_Auth_Adapter_Exception' とメッセージ 'Zend_Auth_Adapter_DbTable に指定されたパラメーターは、有効な sql ステートメントを生成できませんでした。有効なテーブル名と列名を確認してください。' C:\Program Files (x86)\Zend\ZendServer\share\ZendFramework\library\Zend\Auth\Adapter\DbTable.php:414 スタック トレース: #0 C:\Program Files (x86)\Zend\ZendServer\share \ZendFramework\library\Zend\Auth\Adapter\DbTable.php(306): Zend_Auth_Adapter_DbTable->_authenticateQuerySelect(Object(Zend_Db_Select))

1 C:\Program Files (x86)\Zend\Apache2\htdocs\learnZf\index.php(23):

Zend_Auth_Adapter_DbTable->authenticate()

2 {main} が C:\Program Files (x86)\Zend\ZendServer\share\ZendFramework\library\Zend\Auth\Adapter\DbTable.php でスローされます

414行目

0 投票する
3 に答える
8544 参照

php - Zend_Authは、ユーザーがログインしているかどうかを確認します

私は使ってみました:

Zend_Auth::getInstance()->hasIdentity()ログイン後も常に間違っているようです...