ログインしたユーザー ロールに基づいて、メニュー バーを表示および非表示にしようとしていました。だから私はカミソリビューでコードを書いた
@if ( Request.IsAuthenticated && HttpContext.Current.User.IsInRole( "Admin" ) ) {
<li>Projects link</li>
<li>Profile link</li>
}
そしてこれも
@if (Roles.IsUserInRole( "Admin" ) ) {
<li>Projects link</li>
<li>Profile link</li>
}
両方のコードを試しましたが、動作しますが、問題はすべての管理者に対して機能していないことです。合計 4 人のユーザーが管理者の役割を持っている場合、1 人の管理者に対してのみ機能します。
また、別のユーザーロールの財務管理者を単一のユーザーに対して機能することを宣言するときも同じです!
他のすべてのユーザーはメニューをブロックしますが、ユーザーの役割は 4 人のユーザーで同じです。3人も同じ役割を維持しているときに、管理者として1人のユーザーのみを取得する方法がわかりません。メソッドがデータベースからロールを取得する場所と、それがどのように機能するかを説明できる人はいますか?