2017-11-03 7 views
0

したがって、私のASP.Net MVCアプリケーション(.net 4.5)には3つのテーブル(SQL Server)があります。 リスト(キーLID)、詳細(外部キーLID)、ロケーション(外部​​キーLID)。MVC承認システムへの送信

限り、アプリケーションが行くように、登録されているすべてのユーザーがデータベースにリストを入力することができます。私はそれがライブになる前にデータをモデレートするためのいくつかの施設が必要...どのように私はこれを達成するのですか?

とすぐに、ユーザがデータの一部を提出するよう、それは生きて行くべきではありませんが、それは、サイトへの目に見えるなった後に管理者の承認を待つ必要があります。

+0

boolをListingsテーブルに追加し、承認のようなものを作成し、作成時にfalseをデフォルトにします。管理者は、最近作成されたすべてのリストを見て、まだfalseとマークされているものを見ることができます。承認されると、そのレコードの承認済み列を真に更新します。 – tokyo0709

答えて

0

リストモデルにステータスフィールドを追加する必要があります。リスティングが入力されると、「未承認」のようなステータスが1つマークされます。管理者がそれらをレビューすると、承認されたものとしてマークされます。あなたのユーザーインターフェース上ではステータス==承認されたリストのみが表示されます。

これは、すべてのユーザーが非管理者および管理者の役割として定義することができるように、ユーザーの管理と、すでに定義された役割を持っていると仮定しています。このために十分です|(FALSE TRUE)

+0

私は同じことを考えましたが、問題のあるデータベースエントリがなければ、それはメインdbテーブル全体に影響を及ぼしませんか? @Chris –

0

あなたは、SQLに[IsApproved]と呼ばれるビット列を使用することができます。そのフラグをモデルに反映させることができるので、データをロードするときに、まだ承認されていない結果を除外できるようにすることができます。

あなたはどちらかのMVCページを介してか、単にTrueにデータベース内のフラグを変更することで、管理者の承認のいくつかのフォームを必要があると思い、自分

あなたが(どのようにあなたのDBを照会に応じて)あなたのモデルをロードすると、 myTable.Where(x => x.IsApproved).ToList()に承認された結果を表示するようリクエストすることができます。

+0

はい、しかし、私の主なデータベースに侵入するユーザー(誰がランダムになるだろう)へのアクセス権を与えることはセキュリティの脅威にはなりませんか? @Joey –

+0

@MukeshMurugan MVCアプリケーションにアクセスできるユーザーを制限する場合は、実装する認証の種類(Windows、Forms、Digestなど)を考える必要があるため、アプリケーションをデータベースと混同しないようにしてください。あなたのフォームに新しいアイテムを追加してその情報をデータベースに保存することができます(しかし、承認が必要です)ので、認証は必要ありません。 MVCビューから[IsApproved]属性を非表示にして、それをデータベースのみのフラグとして持つことができます。 app.configでデータベース接続を保護する必要があります。ユーザーが見ることができないものです。 –

関連する問題