sybase数据库登录限制问题

kx008yun 2016-01-25 04:37:10
根据上次andkylee大神提供的根据IP限制登录的回答,小改了下,想根据sysprocesses里的用户名suid和program_name限制所有用isql或sqldbx的用户tusc99,连接数据库,但是试了好多次,还是不行。请大神们帮忙给看看:)
sp_addserver local,null,@@servername

--使用sp_remotesql远程调用服务器杀掉自身连接
if object_id('sp_killme') is not null
drop proc sp_killme
go
create procedure sp_killme
as
begin
declare @cmd varchar(100)
select @cmd ='kill ' + convert(varchar(20), @@spid)
exec sp_remotesql 'local', @cmd
end
go


--登录绑定存储过程:sp_bindlogin
--调用存储过程sp_killme利用远程服务器;存储过程sp_killme也可以用:select syb_quit()替代。
IF OBJECT_ID ('dbo.sp_bindlogin') IS NOT NULL
DROP PROCEDURE dbo.sp_bindlogin
GO

create procedure sp_bindlogin
as
begin
declare @hostname varchar(100)
declare @program_name varchar(100)
declare @ipaddr varchar(100)
declare @new datetime
DECLARE @suid int
select @hostname = hostname,@program_name = program_name, @ipaddr = ipaddr,@suid=suid from master..sysprocesses where suid=suser_id('tusc99') and (program_name='SqlDbx[administrator]' or program_name ='isql') and spid=@@spid
SELECT @program_name,@suid
if (@suid=suser_id('tusc99') AND @program_name='isql')
begin
--select syb_quit()
exec sp_killme
end
end

GO



--指定登录的绑定login script为:sp_bindlogin。
sp_modifylogin sa,"login script",sp_bindlogin
go
...全文
288 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kx008yun 2016-05-24
  • 打赏
  • 举报
回复
换了个方式实现了
kx008yun 2016-01-28
  • 打赏
  • 举报
回复
试了,还是不生效,真不晓得是哪的问题
kx008yun 2016-01-26
  • 打赏
  • 举报
回复
你绑定给sa,条件@suid=suser_id('tusc99') 永远不成立啊。 这个为什么不成立呢,是if条件不支持suser_id的转换吗? 我改成(@suid=4 AND @program_name='isql') 成不? 刚试着把这个条件直接改成@program_name='isql',用isql还是能连接
kx008yun 2016-01-26
  • 打赏
  • 举报
回复
将存储过程绑定给指定的账号:tusc99 sp_modifylogin tusc99,"login script",sp_bindlogin 我昨天试着给tusc99账号绑定sp_bindlogin,总是提示sp_bindlogin is not valid,所以就绑定给sa,先试试sa的效果
  • 打赏
  • 举报
回复
必须 sp_modifylogin tusc99,"login script",sp_bindlogin 如果绑定给sa, 那么你在存储过程中suid=1
  • 打赏
  • 举报
回复
你绑定给sa,条件@suid=suser_id('tusc99') 永远不成立啊。
  • 打赏
  • 举报
回复
将存储过程绑定给指定的账号:tusc99 sp_modifylogin tusc99,"login script",sp_bindlogin

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧