ASP.NETMVCアプリケーションにカスタムRoleProviderを実装しようとしています。
カスタムMembershipProviderを作成しましたが、ユーザーを正常に検証できるという点で機能します。次のステップは、RoleProviderを実装して、certianコントローラーへのアクセスを管理者ユーザーのみに制限することです。
誰かが私が取る必要があるステップの簡単な概要を私に提供できますか?
私が今いるポイントは、次のように、承認フィルターを備えたコントローラーを持っていることです。
[Authorize(Roles="Admin")]
public class AdminOnlyController : Controller
{
// stuff
}
CustomRoleProviderクラスがあり、次のメソッドと実装されていないメソッドがたくさんあります。
public override string[] GetRolesForUser(string username)
{
if (username == "dave")
{
return new string[] { "Admin" };
}
}
どういうわけかユーザーをロールに追加する必要があると思いますが、その方法がわかりません。理想的には、最終結果は、許可されていないユーザーが特定のコントローラーにアクセスできないシナリオになります。ビューで、次のようなリンクを表示するかどうかを決定できます。
if (User.IsInRole("Admin"))
{
// show links to Admin Controllers
}
誰かが私を正しい方向に向けることができますか?