Среди технологических форм присутствуют формы для работы с объектами подсистемы полномочий.

Среди веб-форм на настоящий момент доступны формы для просмотра и редактирования:

  • пользователей
  • ролей
  • групп
  • классов
  • операций

Особенности формы для работы с операциями

Для операций различают “Доступ в целом” и “Доступ с конкретным видом доступа”.

Первый столбик галочек определяет доступ к операции в целом. Если у пользователя указан конкретный вид доступа, то у пользователя есть доступ в целом (если добавить какой-то вид доступа на операцию и сохранить форму, то автоматически появится галочка в первом столбце).

Путь до формы

Настройка доступа к данным формам производится через DynamicPageRoute.

Например, чтобы сделать формы доступными по следующим адресам (ниже представлен фрагмент карты сайта):

<siteMapNode title="Пользователи" url="~/flexberry/SecurityUsersList" />
<siteMapNode title="Роли" url="~/flexberry/SecurityRolesList" />
<siteMapNode title="Классы" url="~/flexberry/SecurityClassesList" />
<siteMapNode title="Группы" url="~/flexberry/SecurityGroupsList" />
<siteMapNode title="Операции" url="~/flexberry/SecurityOperationsList" />

можно в RouteConfig прописать следующее:

namespace ICSSoft.STORMNET.Web
{
    /// <summary>
    /// Класс конфигурации маршрутов приложения.
    /// </summary>
    public static class RouteConfig
    {
        /// <summary>
        /// Метод для регистрации маршрутов в коллекции.
        /// При изменении адреса страниц не забудьте произвести соответствующие изменения в SiteMap.
        /// </summary>
        /// <param name="routes">Коллекция маршрутов, в которую необходимо добавить новые элементы.</param>
        public static void RegisterRoutes(RouteCollection routes)
        {
			// ...
			
            routes.AddDynamicPageRoute("flexberry/SecurityClassEdit/{PK}", DynamicPageIdentifier.SecurityClassEdit);
            routes.AddDynamicPageRoute("flexberry/SecurityClassEdit", DynamicPageIdentifier.SecurityClassNew);
            routes.AddDynamicPageRoute("flexberry/SecurityClassesList", DynamicPageIdentifier.SecurityClassesList);
            routes.AddDynamicPageRoute("flexberry/SecurityRoleEdit/{PK}", DynamicPageIdentifier.SecurityRoleEdit);
            routes.AddDynamicPageRoute("flexberry/SecurityRoleEdit", DynamicPageIdentifier.SecurityRoleNew);
            routes.AddDynamicPageRoute("flexberry/SecurityRolesList", DynamicPageIdentifier.SecurityRolesList);
            routes.AddDynamicPageRoute("flexberry/SecurityUserEdit/{PK}", DynamicPageIdentifier.SecurityUserEdit);
            routes.AddDynamicPageRoute("flexberry/SecurityUserEdit", DynamicPageIdentifier.SecurityUserNew);
            routes.AddDynamicPageRoute("flexberry/SecurityUsersList", DynamicPageIdentifier.SecurityUsersList);
            routes.AddDynamicPageRoute("flexberry/SecurityGroupEdit/{PK}", DynamicPageIdentifier.SecurityGroupEdit);
            routes.AddDynamicPageRoute("flexberry/SecurityGroupEdit", DynamicPageIdentifier.SecurityGroupNew);
            routes.AddDynamicPageRoute("flexberry/SecurityGroupsList", DynamicPageIdentifier.SecurityGroupsList);
            routes.AddDynamicPageRoute("flexberry/SecurityOperationEdit/{PK}", DynamicPageIdentifier.SecurityOperationEdit);
            routes.AddDynamicPageRoute("flexberry/SecurityOperationEdit", DynamicPageIdentifier.SecurityOperationNew);
            routes.AddDynamicPageRoute("flexberry/SecurityOperationsList", DynamicPageIdentifier.SecurityOperationsList);
        }
    }
}