powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как ограничить кол-во одновременных подключений одного логина? (ASE 12.5)
4 сообщений из 4, страница 1 из 1
Как ограничить кол-во одновременных подключений одного логина? (ASE 12.5)
    #37300774
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как ограничить кол-во одновременных подключений одного логина?
и можно ли вообще такое в принципе?
про общее максимальное количество подключений я знаю.
...
Рейтинг: 0 / 0
Как ограничить кол-во одновременных подключений одного логина? (ASE 12.5)
    #37300882
Сергей08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Imperous,
System Administration Guide:
Volume 1
стр 550

1As System Administrator, create the limit_user_sessions stored procedure:
create procedure limit_user_sessions
as
declare @cnt int,
@limit int,
@loginname varchar(32)
select @limit = 2 -- max nr. of concurrent logins
/* determine current #sessions */
select @cnt = count(*)
from master.dbo.sysprocesses
where suid = suser_id()
CHAPTER 17 Managing User Permissions
System Administration Guide: Volume 1 551
/* check the limit */
if @cnt > @limit
begin
select @loginname = suser_name()
print "Aborting login [%1!]: exceeds session
limit [%2!]",
@loginname, @limit
/* abort this session */
select syb_quit()
end
go
grant exec on limit_user_sessions to public
...
Рейтинг: 0 / 0
Как ограничить кол-во одновременных подключений одного логина? (ASE 12.5)
    #37300915
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я думал где-то в настройках потыкать, а оказывается через процедуру и логин-триггер надо.
пасибочки!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как ограничить кол-во одновременных подключений одного логина? (ASE 12.5)
    #38473136
dvvarna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кому интересно я чуток доработал.
Можно ставить ограничение на кол-во подключений с одного хоста.
Достало нас поведение шины данных как при ddos атаке

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
create procedure limit_user_sessions_host
as
declare @cnt int,
@limit int,
@loginname varchar(32),
@limit_host int,
@hostname varchar(32),
@cnt_host int

select @limit = 16 -- max nr. of concurrent logins
select @limit_host = 4 -- max nr. of concurrent logins per host


/* determine current #sessions */
select @cnt = count(*)
from master.dbo.sysprocesses
where suid = suser_id()

select @cnt_host = count(*)
from master.dbo.sysprocesses
where suid = suser_id() and
      isnull(hostname, "не определён") = isnull(host_name(), "не определён")  

/*CHAPTER 17 Managing User Permissions
System Administration Guide: Volume 1 551*/
/* check the limit */
if @cnt > @limit or @cnt_host > @limit_host
begin
select @loginname = suser_name()
select @hostname = isnull(host_name(), "не определён")
print "Aborting login [%1!]: exceeds session
limit [%2!] or exceeds session per host [%3!] limit [%4!]",
@loginname, @limit, @hostname, @limit_host
/* abort this session */
select syb_quit()
end
go
grant exec on limit_user_sessions_host to public 



Создавать данную процедуру на БД которая стоит у пользователя как база по умолчанию.

затем

Код: sql
1.
sp_modifylogin <login>, 'login script', limit_user_sessions_host
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как ограничить кол-во одновременных подключений одного логина? (ASE 12.5)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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