Как создать и настроить базу данных, роли, пользователей, полномочия, без средств администрирования ASP Configuration Создаем базу данных. 1. Следует: 1) запустить утилиту создания ASP.NET-базы данных (примерный путь) C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ aspnet_regsql.exe 2) на третьей странице мастера назначить точное имя сервера (например, HOME\SQLEXPRESS), после этого база данных будет создана автоматически; 3) затем в свойствах web-проекта в папке App_data выбрать пункт Add existing item, найти файл базы данных (примерный путь к нему C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\ASPNETDB.MDF) и подключить его к проекту. Файл будет скопирован в папку App_data. 2. Настраиваем тип аутентификации В файл web.config корневого каталога вместо кода <authentication mode="Windows"/> следует поместить такой код: <authentication mode="Forms"> <forms loginUrl="default.aspx"/> </authentication> Режим аутентификации mode=”Forms” означает, что мы не полагаемся на пользователей Windows, а будем создавать их сами специально для нашего web-приложения. В этой секции мы также указываем имя страницы, которая загружается для неавторизованного пользователя (по умолчанию это файл login.aspx) 3. Создаем роли В файле web.config в секции <system.web> включим команду, разрешающую использование ролей: <roleManager enabled="true"/> В проекте отсоединим файл базы данных (щелкнуть правой кнопкой мыши по базе данных - Detach), в SQL Management Studio – присоединим его (щелкнуть правой кнопкой мыши на пункте Базы данных - Присоединить). В SQL Management Studio выполним команды, создающие роли: EXECUTE aspnet_Roles_CreateRole '/', 'librarian' EXECUTE aspnet_Roles_CreateRole '/', 'collector' EXECUTE aspnet_Roles_CreateRole '/', 'warehouse' 4. Назначаем ролям права доступа Внутри нашего корневого каталога создаем 3 каталога, совпадающие с именами ролей. Назначить права доступа, например, для каталога библиотекаря можно так: в каталог библиотекаря следует поместить следующий файл web.config. <?xml version="1.0" encoding="utf-8"?> <configuration> <system.web> <authorization> <allow roles="librarian" /> <deny users="*" /> </authorization> </system.web> </configuration> Доступ разрешается только библиотекарю, всем остальным он запрещен (назначения доступа читаются снизу вверх). 5. Наконец, создаем пользователей и привязываем их к ролям. В SQL Management Studio выполним команды: -- создание пользователя john с паролем absdef_ DECLARE @UserId uniqueidentifier DECLARE @PasswordSalt nvarchar(128) DECLARE @CurrentTimeUtc datetime DECLARE @CreateDate datetime SET @PasswordSalt=NEWID() SET @CurrentTimeUtc=GETUTCDATE() SET @CreateDate=GETDATE() EXECUTE aspnet_Membership_CreateUser '/' ,'john' ,'absdef_' ,@PasswordSalt ,NULL ,NULL ,NULL ,1 ,@CurrentTimeUtc ,@CreateDate ,NULL ,0 ,@UserId -- добавление пользователя john к роли librarian EXECUTE aspnet_UsersInRoles_AddUsersToRoles '/' ,'john' ,'librarian' ,@CurrentTimeUtc В завершение отсоединим базу данных в SQL Management Studio. Для этого нужно щелкнуть правой кнопкой на базе данных – Задачи – Отсоединить. Наконец, в Visual Studio нужно обратно присоединить базу данных: щелкнуть правой кнопкой на базе данных и выбрать Refresh.