最近开始学习DELHPI 但看到分布式多层部分时,有点难理解。
书上的例子都没有讲到安全问题, 大多的做法是在服务端创建一个远程数据模块,然后放一个QUERY 再放一个DATASETPROVIDER;在客户端放一个SOCKETCONNECTION或DCOMCONNECTION之类的连接件,和一个客户端数据集CLIENTDATASET。
接下来指定一下各组件的属性即可访问服务器了。在这种情况下,如果我写了好服务器,那么别人自己也写一个客户端软件,不就可取我服务器上的数据了吗???? 这当然是绝对不可以的。那么, 怎么控制别人不能访问我的服务器上的提供者呢??? 用DCOM的访问先排除,它需要配置,我不喜欢。
书上的例子都没有讲到安全问题, 大多的做法是在服务端创建一个远程数据模块,然后放一个QUERY 再放一个DATASETPROVIDER;在客户端放一个SOCKETCONNECTION或DCOMCONNECTION之类的连接件,和一个客户端数据集CLIENTDATASET。
接下来指定一下各组件的属性即可访问服务器了。在这种情况下,如果我写了好服务器,那么别人自己也写一个客户端软件,不就可取我服务器上的数据了吗???? 这当然是绝对不可以的。那么, 怎么控制别人不能访问我的服务器上的提供者呢??? 用DCOM的访问先排除,它需要配置,我不喜欢。
另一种方法是只有在运行时才建立数据提供者组件,设置其属性。
那种方法适合你?
解决好了给我回复。:)
http://expert.csdn.net/Expert/topic/1950/1950721.xml?temp=.9892084
如何加入认证机制??知道里面DATASETPROVIDER的NAME就可以存取呀!??
yangmq(小思) 说的相当秒
grant all on tablename to myname
revoke update, delete on tablename to Tom
...
我已经试验成功了,
做个远程的login方法
procedure login
begin
if 判断用户是否合法,then
begin
数据连接
end
else
begin
不做连接
end;
end;
这样,即使用户知道表,知道datasetprivder,也没有用的,因为验证没有通过啊,
我在回去试试