New! Как создать и настроить базу данных, роли, пользователей

advertisement
Как создать и настроить базу данных, роли, пользователей, полномочия,
без средств администрирования 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.
Download