問題タブ [beego]

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 投票する
2 に答える
2043 参照

ajax - Golang、Ajax - 成功関数でスライスまたは構造体を返す方法は?

私の問題は、このリンクの質問と似ています。複数のスライスまたは構造体を golang から ajax 成功ブロックに返す必要があります。スライスを JSON にマーシャリングしようとしましたが、文字列として ajax で受信されます。配列として受け取る必要があります。このような複数の配列または構造体を送信することは可能ですか?

私のコード:

私のアヤックス:

前もって感謝します。

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

go - "undefined: beego in beego.AppConfig" - Beego 設定パラメータにアクセスする方法

ここで提案されているようにhttp://beego.me/docs/mvc/controller/config.md、MySQLユーザー/パスワードのパラメーターを追加し、それらにアクセスしようとするとき(たとえば、

beego.AppConfig.String("mysqluser"))

"undefined: beego in beego.AppConfig"メッセージが届きます。助言がありますか?

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

go - マイクロサービスの前に SSO を実装する方法はありますか?

最近、 Beego Frameworkに基づいて複数の Web アプリケーションにSSO(Single-Sign-On)を実装するプロジェクトがあります。最も人気のある SSO プロジェクトはCASで、中央に CAS サーバーが必要で、各 Web アプリケーションの前に CAS クライアントが必要です。残念ながら、 go-cas/casbeegoをサポートする adanteng/casを除いて、Golang で書かれた公式の CAS クライアントはないようです。

しかし、CAS のワークフローは少し複雑です。リダイレクトが多すぎ、CAS、Web アプリ、およびユーザー ブラウザー間で送信されるチケットが多すぎます。次の図のように、人々が認証サービスをすべての Web アプリの前面ではなく中央にデプロイする理由がわかりません。

ここに画像の説明を入力

この図では、すべてのリクエストが最初に認証サービスで強制的に処理され、認証に成功した場合は、セッション ID が生成され、Cookie と Redis に保存されます。この ID は他のマイクロサービスによって共有されます。リダイレクトやチケットはまったくなく、送信を要求するだけです。

この図は可能ですか、それとも私が無視したいくつかの重要な問題ですか?

更新 0

Nadh 氏が助言するように、セッション共有の方法は実際にはスケーラブルでもモジュール式でもありません。nginx-ssoでの Heipei の創作活動のように、認証サービスとダウンストリーム サービスの間のリクエストのヘッダーで、名前、電子メールなどのユーザー情報を送信するのはどうですか? Sam Newman が本のBuilding Microservicesで共有しているように、SSO ゲートウェイとして機能させることは可能ですか?

更新 1

Heipei と Sam Newman からあまり誤解がないことを願って、私の幼稚な考えを少し明確に説明するために、より詳細な図を以下に示します。

非常に多くのリダイレクトとハンドシェイクを処理するのではなく、最初にすべてのリクエストが認証サービスで処理され、MySQL からユーザー情報がセッション プロバイダーとして Redis に書き込まれ、HTTP ヘッダーがダウンストリーム サービスに送信されます。正常に認証されました。

このように、ユーザー情報は上記の共有 Redis as Nadh警告の代わりに HTTP ヘッダーを介して送信され、Redis は認証サービスでデプロイするか、認証インスタンス間でのみ共有することができます。

ここに画像の説明を入力

更新 2

Cookie と Session は昔ながらの技術のようです。Cookie のクロスドメインの問題とセッションの共有の問題は、最新の Web アプリケーションのスケーラビリティと柔軟性に対する主な障壁です。幸いなことに、JSON Web Token は、ユーザー情報 (おそらく ID で十分) のストレージをサーバー側からクライアント側に移動し、必要な場合にのみ送信することで、複数の軽量サービスに最適なシングル サインオン ソリューションになりました。

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

go - Beego でカスタム リカバリを作成するには?

Beego の recoverPanic をオーバーライドするには? フラグを設定しrecoverpanic = falseて独自のリカバリを作成しましたが、うまくいきません。リカバリ機能にジャンプする代わりに、パニックメッセージをコンソールに出力するだけです。

予期しないエラーをすべてキャッチしたいと考えています。たとえばnil pointer、ログを書き、メンテナに電子メールを送信します。

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

go - テンプレート内の構造体の配列

私を助けてください。構造体の型があります

そして型の配列を持っています

すべての構造体フィールドを含むリストをテンプレートに印刷するにはどうすればよいですか?

ありがとうございました!

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

javascript - Angular js で Go テンプレートからデータを取得する

私はAngular Jsが初めてです。angular jsでgolangからデータを受け取ることができました。しかし、アラート ボックスで使用すると[object Object]という出力が得られます。golang の区切り文字を{{ }}から<<< >>>に変更してみましたが、問題は解決しませんでした。

Go コード: (私は beego を使用しています)

構造体ビューモデル.NewCampaignPageViewModel {}

HTML

JS

ここで私が犯した間違いは何ですか?angularjsでgolangからデータを取得するにはどうすればよいですか? 構造体要素UnUsedBoxes (構造体の配列) の使用方法

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

go - Go チャネルの読み取りと書き込みが無限ループでスタックする

まず、Long Polling 通知システムを作りたいと思います。具体的には http リクエストを行い、マップチャンネルが の場合のみレスポンスが返ってきますtrue

これは私が使用したコードブロックです:

これはコントローラブロックです:

テスト用に作成された関数名と変数。

エラーは発生しませんでした。ご協力いただきありがとうございます。