佚名通过本文主要向大家介绍了isapi,isapi rewrite,isapi和cgi限制找不到,isapi rewrite3,isapi筛选器等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 关于使用ISAPI或者WebService的时候出现用户身份权限的问题
描述:
解决方案1:
描述:
问题是:
我的程序需要写在ISAPI里面或者是用WebService的方式对外提供接口,而客户端访问我的程序的时候,使用的是IXXX_USER(有点忘记了)——通过IIS来的请求都是用这个用户,所以在我的ISAPI或者我的WebService的COM里面的很多代码执行起来就有问题,例如GetEnvironmentVariable等等函数。
有什么好的方法能解决掉这个问题?
谢谢
解决方案1:
在本地帐户中添加一个新用户帐户(如UserA), 在ISAPI中验证用户登录后用LogonUser获得UserA的访问令牌,再用ImpersonateLoggedOnUser以UserA的身份访问受限资源, 访问结束后用RevertToSelf还原回原始状态.
注: Win2003Srv下,调用ISAPI时的用户不是IUSR_xxx, 而是Network Service, 这时用LogonUser可能会失败, 此时应先通过调用ServerSupportFunction的HSE_REQ_GET_IMPERSONATION_TOKEN功能, 取得IUSR_xxx的权限后, 然后再用上面的方法设置.