Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разграничение прав доступа на ASP, ограничение по логину локальн. профиля 
:(
    Опции темы
BlackHawk
  Дата 17.1.2006, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 15.8.2003

Репутация: нет
Всего: нет



Приветствую все светлые головы этого, на мой взгляд, самого профессионального форума!

Подскажите чайнику, как можно, и можно ли вообще ограничить права доступа к части материалов сайта путем считывания логина из локального профиля?

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

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

Код


<% 
    DomainUser = Request.ServerVariables("LOGON_USER") 'MyDomain\SUMIN
    if DomainUser = "" then
        Session("UserID") = ""
    else
        DomainUser = Replace(DomainUser,"\","/")
        i = InStr(1, DomainUser, "/")
        Domain = Left(DomainUser, i-1)
        UserName = Mid(DomainUser, i+1)
        Set Conn = Server.CreateObject("ADODB.Connection")
        Conn.Open Application("ConnectionString")
        sql = "SELECT Users.ID as UserID, FirstName_rus, LastName_rus, Head_ID, Department_ID, Office_ID, Users.City_ID, Phone_internal, Users.Email, Phones, WT_ID, Account, Users.Name FROM Users, Offices WHERE Users.Office_ID = Offices.ID and Account like '" & UserName & "'"
        Set rst = Conn.Execute(sql)
'        if rst.recordcount < 1 then
'            Session("UserID") = ""
'        else
            Do while not rst.eof
                Session("UserID") = rst("userid")
                Session("UserAccount") = rst("Account")
                Session("UserName_rus") = rst("lastname_rus") + " " + rst("firstname_rus")
                Session("username") = rst("name")
                Session("Head_ID") = rst("head_id")
                Session("Department_ID") = rst("department_id")
                Session("Office_ID") = rst("office_id")
                Session("City_ID") = rst("city_id")
                Session("Phone_in") = rst("phone_internal")
                Session("User_Email") = rst("Email")
                Session("Office_phones") = rst("phones")
                Session("WT_ID") = rst("wt_id")
                rst.MoveNext
            Loop
'        end if
    end if
' Если пользователь не авторизован, отправим письмо
'    if Session("UserID") = "" then
'        Dim myMail 
'        Set myMail = CreateObject("CDONTS.NewMail") 
'        myMail.From = "[email protected]
'        myMail.To = Application("Admin") 
'        myMail.Subject = "Unknown user" 
'        myMail.Body = "There is unknown user on the page # " & session("page") & " of the Intranet site: " & DomainUser
'        myMail.Send
'        Set myMail = Nothing 
'    end if
    Conn.Close
    Set RS = nothing
%>



PM MAIL ICQ   Вверх
bars_uz
Дата 25.2.2006, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 106
Регистрация: 26.3.2005
Где: Tashkent

Репутация: нет
Всего: нет



Ya delayu tak

Код

<%IF rsUser("Status") = "admin" THEN%>
<!--#include file="admin.asp"-->
<%ELSE%>
<!--#include file="user.asp"-->
<%END IF%>

PM MAIL ICQ   Вверх
djGri
Дата 9.3.2006, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 21.2.2005

Репутация: нет
Всего: 3



Можно добавить вначале каждой админовской страницы такую проверку
Код


<%
         if Session("userRole") <> "admin" then
                 response.redirect("error.asp")
         end if
%>

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ASP | Следующая тема »


 




[ Время генерации скрипта: 0.0578 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.