コードビハインドファイルにプログラムでリピーターをバインドしています。また、以下のように自分のページで役割を確認しています。それに従って、このようにリピーター コントロールをバインドしています。
if (Page.User.IsInRole("Admin"))
{
repeaterArticlesList.DataSource = ArticleAccess.GetArticlesWithNoPaginate();
repeaterArticlesList.DataBind();
}
else if(Page.User.IsInRole("Editor"))
{
repeaterArticlesList.DataSource = ArticleAccess.GetArticlesWithNoPaginate();
repeaterArticlesList.DataBind();
}
else
{
string userName = Page.User.Identity.Name.ToString();
repeaterArticlesList.DataSource = ArticleAccess.GetArticlesWithNoPaginateWithUsername(userName);
repeaterArticlesList.DataBind();
}
Admin、Author、Editor、User の合計 4 つの役割があります。ただし、これらすべてのロールに属する管理者というユーザーが 1 人います。私のロジックの問題は、管理者ユーザー (4 つのロールすべてに属する) としてログインすると、最初の条件と 2 番目の条件の両方が失敗し、最後の条件が実行されることです。したがって、そのユーザーの最初の条件を実行したいと思います。これは、4 つのロールのすべてのロールに含まれている必要があります。 それ以外の場合は、個々の役割を確認します。これに関するヘルプは事前に感謝します。