| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > ASP > авторизация пользователей |
| Автор: sparkleet 17.2.2005, 09:32 |
| Народ! подскажите... Возможноли написать с помощью asp скриптов модуль, который раздавал права пользователям, разграничивал уровень доступа к ресурсам. Также включал многоуровневую и сквозную аутентификацию. |
| Автор: Lion_SKZD 18.2.2005, 15:09 |
| Нек давно это сам писал!! Без компонентов просто руками брал и писал!! Правда может не по супер крутой технологии ,но по крайне мере есть 4 -вида пользователей (admin,advanced user,guest) Каждый может заходить туда и тльок туда куда можно джелать то что можно и т.д. вроде работает! |
| Автор: sparkleet 21.2.2005, 07:34 |
| Здорово! только я пока не представляю с чего начать писать такой модуль. Пока у мена разработана база и sql запросы. |
| Автор: TColonel 25.2.2005, 21:44 |
| Привет. Попробуй это. Файл sec.inc <!-- #include file="opendb.inc"--> <% UserID=Session("UserID"); Rejected=false; if(UserID ==0 || UserID==null || UserID=="") { Attempted=false; URL=Request.ServerVariables("QUERY_STRING"); if(URL==0 || URL=="") { URL=""; } else { URL="?" + URL; } URL=Request.ServerVariables("SCRIPT_NAME") + URL; UserID=Request.Form("UserID"); UserPWD=Request.Form("UserPWD"); if(UserID ==0 || UserID==null || UserID=="") { Rejected=true; } else { var rs = conn.Execute("SELECT admName, admPassword FROM tblAdm WHERE (admName='"+UserID+"') and (admPassword='"+UserPWD+"')"); if(!rs.EOF) { Rejected=false; } else { Attempted=true; Rejected=true; } } } if(Rejected) { if(Attempted) { Title="Authentication Failure"; //Response.Redirect("../asp/"); } else { Title="Please Authenticate"; } %> <!--#include file="auth.html"--> <% Response.End; } %> Файл, который запускается : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Ìîÿ ñòðàíèöà ®</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <link href="../../css/sec.css" rel="stylesheet" type="text/css"> </head> <body> <table width="800" cellspacing="0" cellpadding="0" align="center"> <tr> <td width="100%" align="center"> <div id="pic"> <a href="index-1.asp"><img src="../../img/blocked.jpg" alt="" width="447" height="391" border="0"></a> </div> </td> </tr> </table> </body> </html> Файл, который нужно защитить : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title> Ñàéò íà ðåêîíñòðóêöèè ® </title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <link href="../../css/sec.css" rel="stylesheet" type="text/css"> </head> <!--#include file="sec.inc"--> <body> <table width="800" cellspacing="0" cellpadding="0" align="center"> <tr> <td width="100%" align="center"> <div id="site"> Ïðèíîøó ñâîè èçâèíåíèÿ, ñàéò íàõîäèòñÿ íà ðåêîíñòðóêöèè... </div> </td> </tr> </table> </body> </html> |
| Автор: sparkleet 28.2.2005, 07:19 |
| |
| Автор: sparkleet 28.2.2005, 12:27 |
| TColonel у меня вопрос. Последним скриптом защищаем 1 страницу. У меня в проекте используется около сотни страниц, и чтобы не писать на каждую страницу скрипт, можно ли объединить все в один? |
| Автор: Guest 2.3.2005, 16:01 |
| Скрипт не нужно писать. Достаточно в каждую страницу, которую ты хочешь защитить вставить вот эту строчку : <!--#include file="sec.inc"--> Если у тебя файлы лежат в другой папке, то нужно указывать путь к папке где лежит этот файл. <!--#include file="путь к папке/sec.inc"--> |
| Автор: Guest 2.3.2005, 16:13 |
| Скрипт не нужно писать. Достаточно в каждую страницу, которую ты хочешь защитить вставить вот эту строчку : <!--#include file="sec.inc"--> Если у тебя файлы лежат в другой папке, то нужно указывать путь к папке где лежит этот файл. <!--#include file="путь к папке/sec.inc"--> sparkleet |
| Автор: sparkleet 18.4.2005, 13:29 |
| Да это один момент. Когда пользователь входит он проходит эту идентификацию в базе данных . Но как потом сделать авторизацию, чтобы проверялись права в домене Active Directory? |