Приветствую все светлые головы этого, на мой взгляд, самого профессионального форума!
Подскажите чайнику, как можно, и можно ли вообще ограничить права доступа к части материалов сайта путем считывания логина из локального профиля?
Есть скрипт, который, как я понял, считывает логин из профиля, сверяет его с имеющимся в базе (проверяет наличие пользователя в системе), и если пользователь есть - дает доступ ко всему сайту, а если нет, предлагает послать запрос администратору на внесение в базу.... Тут так: либо есть доступ ко всему сайту, либо его нет вообще.
Задача состоит в том, чтобы автоматически по логину (из профиля) определять ту группу пользователей, которым будет доступна вся информация, а всем остальным (по умолчанию) только разрешенная часть.
Код |
<% 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 %>
|
|