Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Web Server Application

246
14 февраля 2006 года
GIZMO
1.8K / / 30.07.2004
Привет!

Пишется БД, для просмотра решил использовать Web Server Application - CGI. Прикинул, юзеры будут просматривать ее через браузер(IE). Удобно, не нужно им ставить клиентскую часть. Все вроде ничего, но тут же возник естественный вопрос: - доступ. Как организовать доступ к БД по имени и паролю? Чтоб человек при заходе мог авторизоваться введя в нек. форме имя и пароль и далее беспрепятственно работал с БД пока не закроет браузер. Что имеем WinXP, IIS 5.1, BCB5, IB 6.0. Если не понятно объяснил - извиняюсь, занимаюсь этим 2-й день, уточняйте, объясню.
1
14 февраля 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by GIZMO
Привет!

Пишется БД, для просмотра решил использовать Web Server Application - CGI. Прикинул, юзеры будут просматривать ее через браузер(IE). Удобно, не нужно им ставить клиентскую часть. Все вроде ничего, но тут же возник естественный вопрос: - доступ. Как организовать доступ к БД по имени и паролю? Чтоб человек при заходе мог авторизоваться введя в нек. форме имя и пароль и далее беспрепятственно работал с БД пока не закроет браузер. Что имеем WinXP, IIS 5.1, BCB5, IB 6.0. Если не понятно объяснил - извиняюсь, занимаюсь этим 2-й день, уточняйте, объясню.


Завести юзера, назначить права, при вводе данных - формировать строку подключения(параметры подключения) используя данные из формы заполненой им. Правда не приходилось использовать это в Web Server Application - CGI - но если идеология там такая же как и в СОМ-сервере билдера то мне приходилось реализовывать отдельно функцию авторизации в которой все и выполнял.

246
14 февраля 2006 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by kot_
Завести юзера, назначить права, при вводе данных - формировать строку подключения(параметры подключения) используя данные из формы заполненой им. Правда не приходилось использовать это в Web Server Application - CGI - но если идеология там такая же как и в СОМ-сервере билдера то мне приходилось реализовывать отдельно функцию авторизации в которой все и выполнял.


Про "завести юзера" можно по подробнее, где в XP или IIS? Пробую так:

Код:
void __fastcall TWebModule1::WebModule1WebActionItem1Action(
      TObject *Sender, TWebRequest *Request, TWebResponse *Response,
      bool &Handled)
{
    if (UserIsAuthorized())
    {
        Response->StatusCode = 200;
        Response->Content = "Ok";
    }
    else
    {
        Response->StatusCode = 401;
        Response->WWWAuthenticate = AuthenticationString;
        Response->Content = "<H1>False</H1>";

    }
}
//---------------------------------------------------------------------------
bool __fastcall TWebModule1::UserIsAuthorized()
{
    //TODO: Add your source code here
    String UserName, Password;

    DecodeUserNameAndPassword(Request->Authorization, UserName, Password);
    if ((UserName == "gizmo") && (Password == "111"))
        return true;
    else
        return false;
}
//---------------------------------------------------------------------------
void __fastcall TWebModule1::DecodeUserNameAndPassword(String EncodedString, String  &UserName, String &Password)
{
    //TODO: Add your source code here
    String DecodedString;
    EncodedString = EncodedString.SubString(7, EncodedString.Length());
    EncodedString = EncodedString.SubString(1, EncodedString.Pos("=") -1);
    DecodedString = MimeDecodeString(EncodedString);
    UserName = DecodedString.SubString(1, DecodedString.Pos(":") -1);
    DecodedString.Delete(1, DecodedString.Pos(":"));
    Password = DecodedString;
}

Вызывается окно для ввода имени и пароля (стандартное). Ввожу имя и пароль, а он сука пишет: - У вас отсутствуют разрешения на просмотр этой страницы. Указанные вами учетные сведения не позволяют просматривать данный каталог или страницу.

Где и как завести пользователя ума не приложу...
1
15 февраля 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by GIZMO
Про "завести юзера" можно по подробнее, где в XP или IIS? Пробую так:
...
Вызывается окно для ввода имени и пароля (стандартное). Ввожу имя и пароль, а он сука пишет: - У вас отсутствуют разрешения на просмотр этой страницы. Указанные вами учетные сведения не позволяют просматривать данный каталог или страницу.

Где и как завести пользователя ума не приложу...


Я заводил пользователя в базе - а данные логина и пасса просто подставлял в строку коннекта. Но еще раз подчеркну - в билдере мне подобным заниматься не приходилось. Просто по аналогии с РДМ я могу передположить что проблема схожая - прежде чем я смог подконектится мне пришлось дать разрешение на доступ (и выполнение) к СОМ-объектам определенной группе юзеров.
При разработке я например столкнулся с тем что был необходим доступ на папку для процесса ASP - пока я с этим не разобрался тоже получал акцесс денайд - возможно проблема таже - кроме этого необходимы разрешения для сети.
Т.е. я бы сделал так:
1. Проверил разрешения на доступ по сети для нужной группы (или "Все")
2. Для процесса ASP - дал разрешения на чтение, выполнение и т.п(возможно в твоем случае это будет твой компонент - просто я использовал ASP).

246
15 февраля 2006 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by kot_
Я заводил пользователя в базе - а данные логина и пасса просто подставлял в строку коннекта. Но еще раз подчеркну - в билдере мне подобным заниматься не приходилось. Просто по аналогии с РДМ я могу передположить что проблема схожая - прежде чем я смог подконектится мне пришлось дать разрешение на доступ (и выполнение) к СОМ-объектам определенной группе юзеров.
При разработке я например столкнулся с тем что был необходим доступ на папку для процесса ASP - пока я с этим не разобрался тоже получал акцесс денайд - возможно проблема таже - кроме этого необходимы разрешения для сети.
Т.е. я бы сделал так:
1. Проверил разрешения на доступ по сети для нужной группы (или "Все")
2. Для процесса ASP - дал разрешения на чтение, выполнение и т.п(возможно в твоем случае это будет твой компонент - просто я использовал ASP).


Вот и я подозреваю, что какая-то хрень с настройками IIS и/или Винды. К сожалению "настройщик" из меня такой же как и программист:(
Есть другая идейка - с куками: если браузер прислал в хедере имя и пароль, то вперед, если нет, то на страницу с запросом имени и пароля. Если имя и пароль верные, устанавливаем куки и работаем.

1
15 февраля 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by GIZMO
Вот и я подозреваю, что какая-то хрень с настройками IIS и/или Винды. К сожалению "настройщик" из меня такой же как и программист:(
Есть другая идейка - с куками: если браузер прислал в хедере имя и пароль, то вперед, если нет, то на страницу с запросом имени и пароля. Если имя и пароль верные, устанавливаем куки и работаем.


Ну идея в целом верна - правда не понятно как ты будешь проверять правильность логина и пароля - ведь как я понял у тебя не дает доступа к ресурсам сервера?

246
16 февраля 2006 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by kot_
Ну идея в целом верна - правда не понятно как ты будешь проверять правильность логина и пароля - ведь как я понял у тебя не дает доступа к ресурсам сервера?


Не, не так понял. Если я создаю вирт. каталог на IIS кидаю туда свой скрипт, то все работает. Не получается заставить IIS использовать Basic Authentication для авторизации.

1
16 февраля 2006 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by GIZMO
Не, не так понял. Если я создаю вирт. каталог на IIS кидаю туда свой скрипт, то все работает. Не получается заставить IIS использовать Basic Authentication для авторизации.


А методы проверки подлинности установлены? У меня были бока когда я не добавил в пермишины ASP.NET Machine Account - для билдера наверное тоже должна быть какая либо служба. Кроме того - анонимный пользователь? Попробуй отключи анонимную авторизацию - может это то, что ты ищешь?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог