为什么需要用logonUser函数获得句柄后模拟帐户?仅仅是执行sql而已

问题描述

由于本人的能力有限,实在是想不明白,以前前辈的代码是这样写的,在server上写一个webservice,在这个webservice里使用logonUser获得客户端传入的用户名和密码等信息,验证通过后通过WindowsIdentity模拟该账户,建立oracle连接并且执行一条SQL,最后Undo和dispose。我想问问什么要这样呢,logonUser验证通过之后就可以直接执行sql阿,为什么要多此一举呢?第二个问题,如果不模拟帐户,假如logonUser之后直接远程执行server的可执行文件,可以吗,它是以什么帐户执行的?谢谢

解决方案

解决方案二:
不模拟账户,你是想用什么账户?默认的sa账户?人家明明是想登陆自己的账户,比如叫user1,去操作自己用户下的表你用sa账户登陆去操作user1下的表,是一样的?
解决方案三:
引用1楼Z65443344的回复:

不模拟账户,你是想用什么账户?默认的sa账户?人家明明是想登陆自己的账户,比如叫user1,去操作自己用户下的表你用sa账户登陆去操作user1下的表,是一样的?

自己用户下的表?oracle数据库下的表不是公用的吗,再说我们每个人传递的参数orecle的用户名和密码都是一样的呀
解决方案四:
还是放点代码出来,或者写清楚你传递的到底是个什么东西windows有用户,oracle有用户,你自己做的系统也有用户你到底传的是什么用户和密码,又是模拟的什么用户登录?

时间: 2024-10-02 07:23:07

为什么需要用logonUser函数获得句柄后模拟帐户?仅仅是执行sql而已的相关文章

XP系统新建帐户后管理员帐户消失怎么办

XP系统新建帐户后管理员帐户消失怎么办   解决方法: 1.按住 Ctrl+Alt+两次按下Del 就可以弹出帐户登入窗口,然后输入用户名密码进入即可,不过有的机器可能由于设于的原因不行. 2.修改注册表 HKEY_LOCAL_MACHINE--SOFTWARE--Microsoft--Windows NT--CurrentVersion--Winlogon--SpecialAccounts--UserList ,然后再右边的窗口中选择Administrator,然后 右键--修改--选择十进制

csocket-CSocket类中OnReceive()函数被重写后,为什么还要调用CSocket::OnReceive.

问题描述 CSocket类中OnReceive()函数被重写后,为什么还要调用CSocket::OnReceive. 1.CSocket类中OnReceive()函数被重写后,为什么还要调用CSocket::OnReceive. 2.被重写的Onreceive()函数什么时候会被调用,该函数中使用了Receive()方法.我没有使用定时器机制,会不会造成阻塞. 感谢您的耐心解答 解决方案 (1)派生类要做的事情属于基类要做的事情再加上一些别的事情的情况,需要调用基类.派生类做的事情属于完全不同基

mfc c++ vs-测试的时候点击“确定”按钮后直接退出了,没执行函数,哪位大虾来帮忙解决一下呀?

问题描述 测试的时候点击"确定"按钮后直接退出了,没执行函数,哪位大虾来帮忙解决一下呀? 给对话框的"确定"按钮添加了消息映射,但测试的时候点击"确定"按钮后直接退出了,没执行OnBnClickedOk() 函数,这是为什么?哪位大虾来帮忙解决一下呀? void CSearchDlg::OnBnClickedOk() { // TODO: 在此添加控件通知处理程序代码 CIngformation iSet; UpdateData(); m_str

greenplum-postgreSQL里如何自定义函数实现分组后字段的拼接

问题描述 postgreSQL里如何自定义函数实现分组后字段的拼接 由于版本太低,无法使用string_agg,array_agg等系统函数, 能用postgreSQL自定义函数实现吗,求可执行代码!!! --建表-- create table test ( dept varchar(10) ,ename varchar(10) ); --插数-- insert into test values ('技术部','小刘'); insert into test values ('技术部','小黄')

new-C#的主函数通过实例化后类,调用字段变量t.a;为什么出错,而调用字段函数可以??

问题描述 C#的主函数通过实例化后类,调用字段变量t.a;为什么出错,而调用字段函数可以?? C#的主函数通过实例化后类T t=new T();调用字段变量t.a;为什么出错,而调用字段函数可以?? class T{ int b: void fc() { Console.WriteLine("b:"+b); } static void main(String[] args) { T t=new T(); t.fc(); 这样正确,没报错 Console.WriteLine("

软件需求分析序列图中函数的前置后置条件怎么写

问题描述 软件需求分析序列图中函数的前置后置条件怎么写 做动态模型的序列图中的前置后置条件在怎么写,界面的函数和系统的函数写的条件一样吗

c++-将类中的成员函数写出来后,报错:本地函数非法

问题描述 将类中的成员函数写出来后,报错:本地函数非法 #include #include #include #include #include #include using namespace std; class Student{ private: string name[10];//姓名 int number;//学号 int age;//年龄 char xingbie;// 性别 char banji;//班级 string birthday;//出生年月 string dizhi;//

如何在创建新用户后隐藏Administrator帐户

方法一: 单击"开始→运行",输入 control userpasswords2 后回车,在打开的"用户账户"窗口去掉"要使用本机,用户必须输入密码"前的复选框,按"应用"后,在弹出的"自动登录"窗口中输入 Administrator账户密码(如图1),按两次"确定"即可.注意:如果原来就设置了其它账户自动登录,应该先选中"要使用本机,用户必须输入密 码"前的复选框,

Windows 8.1系统更新及删除帐户后IE11启动不了

  第一步.按下Win+R组合键,在出现的运行命令中输入"regedit"后回车,进入注册表编辑器. 第二步.在注册表编辑器界面,展开HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMain,对着Main单击鼠标右键,菜单中选择"权限". 第三步.在出现的"Main权限"对话框界面,点击"高级"按钮. 第四步.在出现的"Main的高级安全设置"对话框,点