Гость
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как ограничить кол-во одновременных подключений одного логина? (ASE 12.5) / 4 сообщений из 4, страница 1 из 1
08.06.2011, 15:54
    #37300774
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ограничить кол-во одновременных подключений одного логина? (ASE 12.5)
Как ограничить кол-во одновременных подключений одного логина?
и можно ли вообще такое в принципе?
про общее максимальное количество подключений я знаю.
...
Рейтинг: 0 / 0
08.06.2011, 16:43
    #37300882
Сергей08
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ограничить кол-во одновременных подключений одного логина? (ASE 12.5)
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
08.06.2011, 16:58
    #37300915
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ограничить кол-во одновременных подключений одного логина? (ASE 12.5)
я думал где-то в настройках потыкать, а оказывается через процедуру и логин-триггер надо.
пасибочки!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
21.11.2013, 15:51
    #38473136
dvvarna
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как ограничить кол-во одновременных подключений одного логина? (ASE 12.5)
Кому интересно я чуток доработал.
Можно ставить ограничение на кол-во подключений с одного хоста.
Достало нас поведение шины данных как при 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
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как ограничить кол-во одновременных подключений одного логина? (ASE 12.5) / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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