3

私は自分のウェブサイトを再構築するために Yesod を使って学習しています。によって生成されたコードを使用して開始しましたyesod init。このコードは、Yesod.Auth.Email を含む、Yesod に付属する認証フレームワークを使用します。これにより、電子メール アドレスを提供することでアカウントを作成できます。

デフォルトのコードで私が抱えている問題は次のとおりです。ユーザー識別子が電子メール アドレスに設定されます。識別子がウェブサイトで公に使用される場合 (たとえば、ページやブログのコメンテーターを識別するため)、ユーザーがそれらを識別するために表示されても構わないものが必要です。

理想的には、ユーザーがメール アドレスを送信する時点、またはリンクをクリックしてアカウントを検証し、パスワードを入力するときに、Web サイトが (一意の) 公開識別子を要求するようにしたいと考えています。問題は、登録/パスワードフォームがそこで定義されているため、これには Yesod モジュールの変更が必要と思われることです。

私は十分に簡単に変更を加えることができます。しかし、私がやりたいことを実行させるために、Yesod モジュールをフォークし続けたくはありません。既存の yesod-auth モジュールを使用してこれを行う別の方法はありますか? フレームワークをそのまま使用してこれを行うことは完全に可能ですが、そうであれば、小さな例をいただければ幸いです。

4

1 に答える 1

1

Web サイトでユーザーの ID を表示するために使用しているコードはわかりませんが、user テーブルに列を簡単に追加できます。

User
  ...
  publicIdentifier Text Update

そして、ハムレットで変数を補間するだけです:

#{userPublicIdentifier user}
于 2011-08-10T02:22:19.167 に答える