powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
11 сообщений из 11, страница 1 из 1
ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
    #33942090
secondstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, Алл!

Неоднократно задавал подобные вопросы, но так никто и не ответил. :( МОжет быть сейчас кто-нить поможет, плиз!

Итак, есть некоторое приложение (сайт), который хранит некоторые данные в MS SQL сервере 2000. В этой базе есть хранимые процедуры и вьюшки для получения данных из базы.
Надо придумать механизм лицензирования сайта по количеству записей n, хранимых в БД. Т.е. в корне сайта будет лежать файл лицензии, сайт должен открыть этот файл, проверить его валидность и ограничить количество записей, с которыми он работает.
Сложность в том, что если на сайте ввести ограничение на ввод n+1 записи, то администратору СУБД не составит сложности внести эту запись вручную прямо в БД. :(
В голову приходит только одна мысль : перенести все вьюшки (фактически - операторы SELECT) из БД в приложение и добавить к каждому SELECTу параметр TOP :n. Значение n передавать в виде параметра из файла с лицензией после его расшифровки. Т.е. даже если администратор добавит запись вручную - сайт все равно выберет только первые n записей.

Есть ли какие-нибудь другие мысли по этому поводу?
...
Рейтинг: 0 / 0
ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
    #33942143
SynteZZZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем ограничивать на уровне SELECT'а, когда можно ограничить на уровне логики или на крайняк вывода?
...
Рейтинг: 0 / 0
ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
    #33942252
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если речь касается гридов, то можно сделать пейджинг на нужное кол-во записей и запретить переходить по страницам----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
    #33942259
Nikolay_Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно. Обычно проверяет ограничения тот, кто их устанавливает. Т.е. если установлено ограничение на количество записей, то и проверять это должен SQL-сервер. И хранить настройки на сайты тоже следует там-же.
...
Рейтинг: 0 / 0
ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
    #33942300
secondstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не, проблема в том, что надо по этой таблице провести поиск на предмет совпадения.
Представьте себе, что у Вас есть лицензия на 10000 пользователей и соответствующими им уникальными индентификаторами (ИД). Предположим, злостный админ залез через Enterprise Manager и добавил в таблицу 10001 пользователя.
Теперь этот 10001 пользователь заходит в систему со своим ИД. На сайте выполняется следующий запрос
SELECT COUNT (*) FROM Users WHERE UID=:ID
Если полученное число =1, то система пускает юзера.
В итоге, этот юзер работает как и все остальные.
...
Рейтинг: 0 / 0
ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
    #33942307
secondstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конечно, можно еще следующим запросом проверить количество записей в таблице Users и если оно больше 10000 то заблокировать нафиг доступ. Но тогда как понять, какой это юзер был по счету, 9999 или 10001, чтобы заблокировать только 10001 пользователя?
...
Рейтинг: 0 / 0
ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
    #33942606
mclabman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для начала надо определиться, что есть объект ограничения?
Количество пользователей сайта или количество записей в таблице SQL сервера.
Это совершенно разные вещи.
...
Рейтинг: 0 / 0
ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
    #33942625
secondstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Количество пользователей, которые имеют доступ к сайту на основе Forms-авторизации. Не путать с количеством активных пользователей на сайте.
...
Рейтинг: 0 / 0
ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
    #33942685
mclabman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. SQL база хранит список этих пользователей и приложение проверяет, есть ли такой пользователь и длина списка должна быть не больше заданной.
А как с удалением / добавлением пользователей?
...
Рейтинг: 0 / 0
ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
    #33943280
secondstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Смотри. У тебя есть таблица с пользователями. В таблицу ты можешь добавлять/изменять/удалять записи либо через свое приложение (сайт), либо через Enterprise Manager или другую админку СУБД.
Но если ты на сайте сделаешь ограничение на кнопку "Добавить" (если в таблице больше 10000 записей, то кнопка не работает), то от редактирования данных через средства администрирования СУБД тебя ничего не спасет.

Выход ИМХО один : при входе проверять два условия, что ИД юзера занесен в базу и то, что в таблице меньше n записей. В противном случае блочить доступ ВСЕМ юзерам :(
...
Рейтинг: 0 / 0
ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
    #33943566
mclabman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я могу предложить, по крайней мере, пару вариантов, как обойти такую схему просто и криво.
Например, удаляем n-ную запись и добавляем свою, проходим аутентификацию, и восстанавливаем запись. Или варианты от этого с использованием view.
Если список пользователей есть ключ к работе системы, то никто, кроме системы не должен иметь возможность его изменять.

Приблизительно так:
В таблице храним порядковый номер пользователя <= n, имя, и хэш имя + пароль + порядковый номер + ключ, который знает только скомпилированная сборка. Таким образом, администратор не может догадаться, какой должен быть хэш, и теряет интерес к вводу новых строк. Если, конечно, он не знаком с дизассемблером.
Новый пользователь может быть введен только с порядковым номером <= n и только системой.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET 2.0 Как сделать лицензирование по количеству пользователей?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]