Разработка системы доступа к ресурсам образовательного веб-портала вуза
Создание базы данных для хранения информации о пользователях системы. Применение механизма аутентификации и управления сессиями. Описание программных мер, предпринятых для обеспечения безопасности информационных ресурсов образовательного веб-портала.
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
//ГРУППА возможных(потенциальных) пользователей
$acl->addRole(new Zend_Acl_Role('pt_users_group'))
//подгруппа потенциальные учащиеся=pt_group_std
->addRole(new Zend_Acl_Role('pt_group_std'), 'pt_users_group')
//подгруппа потенциальные сотрудники=pt_group_sotrud
->addRole(new Zend_Acl_Role('pt_group_sotrud'), 'pt_users_group');
// Добавление пользователей без наследования прав
// пользователь ГОСТЬ
$acl->addRole(new Zend_Acl_Role('guest'))
// АДМИНИСТРАТОР web-портала
->addRole(new Zend_Acl_Role('admin'))
// Добавление ПОДГРУПП пользователей с наследованием прав от 3-х категорий
//Подгруппы действующих(реальных) пользователей:
//Подгруппа группы сотрудники МЕТОДИСТ=metodist
->addRole(new Zend_Acl_Role('metodist'),array('guest','users_group', 'group_sotrud' ))
//Подгруппа группы сотрудники преподаватель=prepodavatel
->addRole(new Zend_Acl_Role('prepodavatel'), array('guest','users_group', 'group_sotrud' ))
//Подгруппа группы сотрудники администрация(административная должность)=administration
->addRole(new Zend_Acl_Role('administration'), array('guest','users_group', 'group_sotrud' ))
//Подгруппа группы учащиеся СТУДЕНТ=student
->addRole(new Zend_Acl_Role('student'),array('guest','users_group', 'group_std' ))
//Подгруппа группы учащиеся АСПИРАНТ=aspirant
->addRole(new Zend_Acl_Role('aspirant'), array('guest','users_group', 'group_std' ))
//Подгруппа группы учащиеся РОДИТЕЛИ=roditeli :-)
->addRole(new Zend_Acl_Role('roditeli'), array('guest','users_group', 'group_std' ))
//Подгруппы возможных(потенциальных) пользователей (аналогично предыдущему блоку)
->addRole(new Zend_Acl_Role('pt_metodist'),array('guest','pt_users_group', 'pt_group_sotrud' ))
->addRole(new Zend_Acl_Role('pt_prepodavatel'), array('guest','pt_users_group', 'pt_group_sotrud' ))
->addRole(new Zend_Acl_Role('pt_administration'), array('guest','pt_users_group', 'pt_group_sotrud' ))
->addRole(new Zend_Acl_Role('pt_student'),array('guest','pt_users_group', 'pt_group_std' ))
->addRole(new Zend_Acl_Role('pt_aspirant'), array('guest','pt_users_group', 'pt_group_std' ))
->addRole(new Zend_Acl_Role('pt_roditeli'), array('guest','pt_users_group', 'pt_group_std' ));
// ДОБАВЛЕНИЕ РЕСУРСОВ
// defaultModule- МОДУЛЬ ПО УМОЛЧАНИЮ
$acl->add(new Zend_Acl_Resource('defaultModule'));
// UserController (общие функции)
$acl->add(new Zend_Acl_Resource('UserController'), 'defaultModule');
$acl->add(new Zend_Acl_Resource('registerAction'), 'UserController');
$acl->add(new Zend_Acl_Resource('loginAction') , 'UserController');
$acl->add(new Zend_Acl_Resource('logoutAction') , 'UserController');
// SiteController (страницы-разделы портала)
$acl->add(new Zend_Acl_Resource('SiteController'), 'defaultModule');
$acl->add(new Zend_Acl_Resource('news') , 'SiteController');
$acl->add(new Zend_Acl_Resource('about') , 'SiteController');
$acl->add(new Zend_Acl_Resource('history') , 'SiteController');
$acl->add(new Zend_Acl_Resource('structure'), 'SiteController');
$acl->add(new Zend_Acl_Resource('documrnts'), 'SiteController');
$acl->add(new Zend_Acl_Resource('education'), 'SiteController');
// UzoneController (личные кабинеты)
$acl->add(new Zend_Acl_Resource('UzoneController'), 'defaultModule');
$acl->add(new Zend_Acl_Resource('cabinet'), 'UzoneController');
// uchet_uspevModule- МОДУЛЬ УЧЕТА УСПЕВАЕМОСТИ
$acl->add(new Zend_Acl_Resource('uchet_uspevModule'));
// SpecController (должностные функции)
$acl->add(new Zend_Acl_Resource('SpecController'), 'uchet_uspevModule');
$acl->add(new Zend_Acl_Resource('redakt_ocenki_metodist') , 'SpecController');
$acl->add(new Zend_Acl_Resource('obzor_ocenki_prep') , 'SpecController');
$acl->add(new Zend_Acl_Resource('ocenki_stud') , 'SpecController');
//РАСПРЕДЕЛЕНИЕ РОЛЕЙ
$role='guest';
if(isset($_SESSION['SID']) )
{
//**подключить БД учета успев (в которой хранятся таблицы действующих(реальных) пользователей)
$db_uni=mysql_select_db('university8', $link) or die ('Can\'t use university : ' . mysql_error());
if (!$db_uni)
{
printf("<br><b>Database УЧЕТ_УСПЕВАЕМОСТИ connection error!</b> %s", mysql_error()."<br>");
}
else
{
echo "<br><b>Database university online</b><br>";
}
$q01 = @mysql_query("SELECT * FROM metodist WHERE metodist_nick='".$_SESSION['user']."'AND metodist_password='".$_SESSION['password']."' ");
if(@mysql_num_rows($q01)==1)
{$role='metodist';echo 'Группа: ',$role, '<br />';}
else {
$q02 = @mysql_query("SELECT * FROM students WHERE students_nick='".$_SESSION['user']."' AND students_password='".$_SESSION['password']."'");
if(@mysql_num_rows($q02)==1) {$role='student';echo 'Группа: ',$role, '<br />';}
else {
$q03 = @mysql_query("SELECT * FROM teachers WHERE teachers_nick='".$_SESSION['user']."' AND teachers_password='".$_SESSION['password']."'");
if(@mysql_num_rows($q03)==1) {$role='prepodavatel';echo'Группа: ', $role, '<br />';}
else {
$q04 = @mysql_query("SELECT * FROM administration WHERE administration_nick='".$_SESSION['user']."' AND administration_password='".$_SESSION['password']."'");
if(@mysql_num_rows($q04)==1) {$role='administration';echo'Группа: ', $role, '<br />';}
else {
$q05 = @mysql_query("SELECT * FROM aspirants WHERE aspirants_nick='".$_SESSION['user']."' AND aspirants_password='".$_SESSION['password']."'");
if(@mysql_num_rows($q05)==1) {$role='aspirant';echo'Группа: ', $role, '<br />';}
else {
$q06 = @mysql_query("SELECT * FROM roditeli WHERE roditeli_nick='".$_SESSION['user']."' AND roditeli_password='".$_SESSION['password']."'");
if(@mysql_num_rows($q06)==1) {$role='roditeli';echo'Группа: ', $role, '<br />';}
}
}
}
}
}
}
//УСТАНОВКА ПРАВ ДОСТУПА К РЕСУРСАМ
// Разрешаем администратору портала все действия
$acl->allow('admin');
//Права доступа для гостя
// Разрешаем доступ к контроллеру UserController пользователю guest(гость)
$acl->allow('guest', 'UserController');
// Разрешаем доступ к контроллеру SiteController пользователю guest(гость)
$acl->allow('guest', 'SiteController');
// Запрещаем доступ к контроллеру UzoneController пользователю guest(гость)
$acl->deny('guest', 'UzoneController');
// Запрещаем доступ к контроллеру SpecController пользователю guest(гость)
$acl->deny('guest', 'SpecController');
//Права доступа для подгруппы УЧАЩИЕСЯ
// Разрешаем доступ к контроллеру UserController группе group_std(учащиеся)
$acl->allow('group_std', 'UserController');
// Разрешаем доступ к контроллеру SiteController группе group_std(учащиеся)
$acl->allow('group_std', 'SiteController');
// Разрешаем доступ к контроллеру UzoneController группе group_std(учащиеся)
$acl->allow('group_std', 'UzoneController');
// Запрещаем доступ к контроллеру SpecController группе group_std(учащиеся)
$acl->deny('group_std', 'SpecController');
//Права доступа для подгруппы СОТРУДНИКИ
// Разрешаем доступ к модулю 'defaultModule' группе group_sotrud(сотрудники)
$acl->allow('group_sotrud', 'defaultModule');
// Разрешаем доступ к контроллеру UzoneController группе group_sotrud(сотрудники)
$acl->allow('group_sotrud', 'UzoneController');
// Разрешаем доступ к ресурсу redakt_ocenki_metodist контроллера SpecController подгруппе metodist
$acl->allow('metodist', 'redakt_ocenki_metodist');
// Разрешаем доступ к ресурсу obzor_ocenki_prep контроллера SpecController подгруппе prepodavatel
$acl->allow('prepodavatel', 'obzor_ocenki_prep');
// Разрешаем доступ к ресурсу ocenki_stud контроллера SpecController подгруппе student
$acl->allow('student', 'ocenki_stud');
//ПРОВЕРКА ПРАВ ДОСТУПА
echo 'ACCESS CONTROL LIST:','<br />';
echo 'Access to defaultModule for admin ', $acl->isAllowed('admin', 'defaultModule') ? "allowed" : "denied", '<br />';
echo 'Access to UserController for guest ', $acl->isAllowed('guest', 'UserController' ) ? "allowed" : "denied", '<br />';
echo 'Access to UzoneController for guest ',$acl->isAllowed('guest', 'UzoneController' ) ? "allowed" : "denied", '<br />';
echo 'Access to SpecController for group_std ',$acl->isAllowed('group_std','SpecController') ? "allowed" : "denied", '<br />';
echo 'Access to SpecController for group_sotrud ', $acl->isAllowed('group_sotrud','SpecController') ? "allowed" : "denied", '<br />';
echo 'Access to redakt_ocenki_metodist for metodist ', $acl->isAllowed('metodist','redakt_ocenki_metodist') ? "allowed" : "denied", '<br />';
echo 'Access to obzor_ocenki_prep for prepodavatel ', $acl->isAllowed('prepodavatel','obzor_ocenki_prep') ? "allowed" : "denied", '<br />';
echo 'Access to ocenki_stud for student ', $acl->isAllowed('student','ocenki_stud') ? "allowed" : "denied", '<br />';
//Вывод ресурсов
if ($acl->isAllowed($role, 'redakt_ocenki_metodist')) {
// код для вывода ссылки на ресурс
echo '<br/><br/><a href="resourses/redakt_ocenki_metodist.php">редактировать оценки</a><br/><br/>';
}
elseif ($acl->isAllowed($role, 'obzor_ocenki_prep')) {
// код для вывода ссылки на ресурс
echo '<br/><br/><a href="resourses/obzor_ocenki_prep.php">просмотр успеваемости</a><br/><br/>';
}
elseif ($acl->isAllowed($role, 'ocenki_stud')) {
// код для вывода ссылки на ресурс
echo '<br/><br/><a href="resourses/ocenki_stud.php">просмотр оценок</a><br/><br/>';
}
?>
В этой главе были представлены основные фрагменты кода системы. Приводить тут полный код программы не представляется возможным, из-за его огромного объема.
Полный код приложения можно посмотреть на прилагаемом диске.
Размещено на Allbest.ru
Подобные документы
Понятие портала как Intranet системы. Технологии функционирования Web-портала. Особенности и функции портала учебного заведения. Использование Web-портала в учебном процессе. Структура образовательного Intranet/Internet-портала школы № 24 г.Нефтеюганска.
дипломная работа [3,0 M], добавлен 02.05.2012
Разработка средств администрирования и безопасности, импорт информационного наполнения с Web-страницы. Отображение статических файлов HTML и вывод форматированных данных. Идентификация опасных и вредных факторов, сопутствующих созданию интернет-портала.
дипломная работа [2,2 M], добавлен 02.06.2012
Создание базы данных, построение на ее основе информационной системы в виде веб-сайта. Обоснование и выбор системы управления базой данных. Датологическое проектирование, разработка алгоритма решения задачи, создание форм. Результаты обработки данных.
отчет по практике [904,1 K], добавлен 13.04.2015
Построение модели корпоративного портала как платформы для разработки учебно-методической документации вуза. Состав, особенности использования учебно-методической документации вуза. Концептуальная модель корпоративного портала образовательного учреждения.
дипломная работа [3,0 M], добавлен 18.03.2012
Проектирование портала записи на приём к специалистам узких специальностей. Составление методического руководства по использованию портала. Обзор требований к программному и аппаратному обеспечению. Электронная регистратура. Описание программных модулей.
дипломная работа [1,9 M], добавлен 09.01.2015
Перечень защищаемых ресурсов на объекте информатизации. Выбор механизмов и средств защиты информации. Набор требований по безопасности. Описание реализации информационных сервисов. Разграничение доступа автоматизированной системы предприятия к ресурсам.
реферат [24,7 K], добавлен 24.01.2014
Цель создания информационной системы. Описание программного обеспечения. Ввод и редактирование информации о поставщиках и поставках товара. Создание базы данных "Магазин по продаже одежды". Разработка механизмов доступа ко всем построенным объектам.
курсовая работа [1,1 M], добавлен 16.11.2012
Анализ видов существующих корпоративных порталов. Разработка архитектуры и структуры корпоративного портала в соответствии с требованиями. Установка и настройка программного обеспечения. Общие настройки портала, управление меню и настройка виджетов.
дипломная работа [4,8 M], добавлен 19.01.2017
Структура и история развития технологии AJAX. Устройство метода AJAX. Инструментарий разработки веб-приложений. Разработка и создание информационного портала по языкам программирования с использованием технологии AJAX. Информационное содержание портала.
дипломная работа [3,2 M], добавлен 05.06.2011
Построение модели информационно-педагогической среды (ИПС) образовательного учреждения. Создание базы данных, обеспечение многопользовательского режима с разграничением прав доступа к информации. Автоматизация кадровой работы и формирование отчетов.
курсовая работа [5,1 M], добавлен 01.06.2013