私はasp.net mvc3で学校プロジェクトを行い、ユーザー/ロール管理の必要があります。 asp.netに同梱されているメンバーシップは、学校のプロジェクトにとっては大きすぎると思います。 私の考えはこれです。私はZend predispatch
のASPの同等の方法を見つけることができた場合、またはより良い1つ私はロールのアクセス権としてアクセス可能なURLを格納し、セッションでロードし、特定のユーザーがそれにアクセスしていない場合はリダイレクトを確認します。asp.net mvc 3の小さなカスタムロール管理
私の質問はこれです:
は、ASPでPreDispatch
方法の任意の等価はありますか?
私の問題に対して、より良いアプローチがありますか?はいこの
EDIT を読み取るためのリソース
感謝を投稿してください場合、私はこれを使用してdatabseからサブリンクを生成します。
public static class SubMenuHelper
{
public static MvcHtmlString GetSubMenu()
{
var db = new SchoolContextExpress();
var submenu = from s in db.Disciplines select s;
var sbuilder = new StringBuilder();
foreach (var discipline in submenu)
{
sbuilder.AppendFormat("<li><a class='sublink' href='/Discipline/Details/{0}'>{1}</a></li>", discipline.DisciplineID, discipline.Name);
}
return new MvcHtmlString(sbuilder.ToString());
}
}
すごいことが速かった、私はこの方法が好きだと思いますが、どこ認証が行われますか?また、フィルタにロールを渡す場所は、私はヘルパーを使ってdatabseから規律のサブメニューを生成します。ロールはデータベースからのものでもあります。投稿を更新してサブメニューの作成方法を含めるようにします。 –
認証は 'RequirePermissionFilter'フィルタで行われます。このような最小限の役割を果たす必要があります。 '[RequirePermissionFilter(Roles.Student)]'。認証時にセッションにユーザロールを追加する必要があります。ユーザーが必要最小限の役割を果たす場合は、セッションオブジェクトを確認します。 – Yorgo
私は、データベースからのログイン後に起こるシナリオを意味します。 '1'渡されたユーザー名/パスワードに対応するユーザーを見つけました。 ' 2'そのユーザーオブジェクトをセッションに格納します。 '3'私はRequirePermissionをロールそれそれ '4'フィルタ開始の各注釈付きコントローラのロールを開始すると良いですか? –