2015-04-14 4 views
0

У меня есть меню на веб-сайте. Я хочу получить доступ к этому для каждой роли.Авторизация в ASP.NET MVC 4

Например: у меня есть 3 роли, которые Role1 имеют доступ к персоналу, упомянутые, меню посещения и role2 имеют доступ к персоналу, меню диеты и role3 имеют полный доступ.

Я создал статический класс, задающий значение при входе пользователя на сайт. и используйте это свойство класса для отображения/скрытия меню. но измените это значение, когда пользователь-новичок будет логин на сайте.

public static class GlobalVariables 
{ 
    public static string UserName { get; set; } 
    public static string Image { get; set; } 

    public static bool IsAuthorizePersonnel { get; set; } 
    public static bool IsAuthorizeReferred { get; set; } 
    public static bool IsAuthorizeDiet { get; set; } 
    public static bool IsAuthorizeVisit { get; set; } 
} 

Как настроить доступ к меню?

ответ

0

В принципе, у вас есть один экземпляр класса, который используется для всех пользователей сайта. Из-за этого это статический класс.

Вам следует создать класс экземпляра для каждого пользователя. Который можно разместить внутри кеша под именем пользователя.

+0

Спасибо, когда создается экземпляр-за пользователем класс, как я могу использовать это в Другая точка зрения? –

1

Статический класс меняется при входе новых пользователей, поскольку ASP.NET обрабатывает несколько запросов/клиентов в одном домене приложения, что означает, что они делят статические классы/свойства.

Чтобы сделать что-то вроде этой работы, вам нужно будет кэшировать информацию либо через состояние сеанса, либо в кеш памяти с ключом пользователя (например, Redis).

В качестве альтернативы простое членство в Asp.Net имеет поддержку ролей, поэтому вы можете также рассмотреть возможность создания свойств IsX в качестве оберток вокруг проверок функций.

Смотрите следующие статьи для некоторых примеров:

+0

Спасибо, я использую роль и задаю роль пользователя. но я хочу получить значение свойства пользователя в режиме входа в систему и использовать это значение в другом представлении –

Смежные вопросы