1

ユーザーが単なる販売員かどうかを判断する必要があります。ASP.NET MVC 4 コントローラーには次のものがあります。

    public ActionResult Index() {
        string salespersonCode = null;

        var roles = Roles.GetRolesForUser();
        if(roles.Count() == 1 && roles.Contains(UserRoles.Salesperson.ToString()))
            salespersonCode = User.Name();

        return View(new ProspectIndexViewModel { Prospects = _crmService.GetActiveProspects(salespersonCode) });
    }

ユーザーは複数のロールを持つことができます。ユーザーがその役割のみを持っている場合、返されるデータを営業担当者に属するデータのみに制限したいと考えています。他の 3 つの役割 (マネージャー、管理者、および販売管理者) は、リスト全体を受け取ります。ありがとう!

4

3 に答える 3

5

Allメソッドを使用できます。

if(roles.All(r => r == UserRoles.Salesperson.ToString()))

しかし、あなたのコードに問題はありません...

于 2012-08-06T14:46:15.050 に答える
0
var roles = Roles.GetRolesForUser();
if(!roles.Any(r => r != UserRoles.Salesperson.ToString()))
    salespersonCode = User.Name();
于 2012-08-06T14:45:25.283 に答える
-1

使ってみて

if (Page.User.IsInRole("Salesperson")) { ... };
于 2012-08-06T14:47:05.440 に答える