5

この質問はMetaSOにあるべきだと思うかもしれませんが、そうではありません。基本的にASP.Net MVCに関するものですが、実装したい手法はすでにSOに実装されているからです。

StackOverflowの場合と同じように、ユーザーがより多くの評判を得ながらパワーを発揮できるようにしたいのですが、私の質問は、ユーザー認証システムをどのように設計するかです。組み込みのフォーム認証に頼ることはできますか?また、ユーザーに表示されるリンク(レピュテーションに応じて)と表示されないリンクを管理する方法は?

ここではロールを使用できないと思うので、1000のロールになってしまうことはありませんよね?ただし、2つの役割(管理者、ユーザー)のみを使用できます。

[編集]:
フォーム認証に依存するよりも、独自のユーザーテーブルを作成する方が良いと思います。そのため、レピュテーションフィールド(およびその他のフィールド)をユーザーテーブルに追加して、あなたが言ったように追跡できます。ifところで@MartinHN、あなたが話していたことは知っていますが、私の質問は、そのような問題を処理するためのよりスマートな方法がありますか?

4

2 に答える 2

5

簡単なルール システムを作成できます。各ユーザーには、レピュテーション スコアが関連付けられています。次に、アクション フィルターを使用して、システム内の機能へのアクセスを制御できます。

public class SomeController : IController
{
    ...
    [ReputationNeeded(Reputations.CanVoteDown)] // your custom action filter
    [HttpPost]
    public ActionResult VoteDown(...)
    { /* */ }
}

幸運を!

于 2011-06-28T09:06:33.693 に答える
3

ユーザーの評判の管理、およびユーザーがアクセスできるもの (評判によって測定される) は、認証メカニズム自体の一部であってはなりません。

Web では、主にフォーム認証を使用します。一度認証されると、ユーザーに評価を適用し、ユーザーが十分な評価を持っていない場合に領域を閉鎖するのはあなた次第です。

この機能を認証システムの一部にするつもりはありません。ユーザーを認証させてから、特定のユーザーに適切なビューをレンダリングさせるだけです。

評判に応じてメインのナビゲーションが変わるとしましょう。1000 回以上の担当者を必要とするナビゲーション バーのアイテムをラップします。ユーザーがif1000 未満の場合は表示しません。

于 2011-06-28T09:04:29.580 に答える