上篇博客我提到了非域,非匿名用户访问远程企业服务的关键就是在两台机子上建立一个用户名和密码完全一样的账户。然后配置ASP.net启用账号模拟,使用这个新加的账号来模拟。下面就是关于这部分的详细截图说明。
假设服务器a为企业服务主服务器, 服务器b为使用该企业服务的代理,同时b服务器上有一个ASP.net 的站点。
在服务器a上新建用户 complus , 同时这个用户属于: Distributed COM Users 用户组, 如下图所示。
我们只需要给这个用户赋予 Distributed COM Users 用户组,其他权限组均不需要。
在服务器 b 上建立一个同样的 complus 用户,密码跟 b 服务器上的完全一致。 注意这里 complus 只需要属于 IIS_WPG 用户组。
修改服务器 b 上 asp.net 站点的 Web.config 文件:
<system.web>
<identity impersonate="true" userName="complus" password="*****" />
</system.web>
完成上述设置后, 非域,非匿名用户访问远程企业服务的设置就完成了。
如果还不能正常访问,报 Access is denied , 看看企业服务的远程激活这类设置是否打开了。这部分在我之前的博客中有多次提到,就不再累述了。
参考资料:
identity 元素(ASP.NET 设置架构)
http://msdn.microsoft.com/zh-cn/library/72wdk8cc.aspx
COM+ with ASP.NET
http://www.dotnet247.com/247reference/message.aspx?vote=86f67a1b-c961-4229-84c6-4c1b9ecc818a&id=128688&threadid=373882