在没有子域http://localhost/myweb/
的windows身份验证中,成功显示应用程序页面后询问用户名/密码。
但是当我使用子域http://abc.localhost/myweb/
运行时它没有获取登录凭据,它给出未经授权的访问错误。我需要做些什么改变来克服这个问题。
我尝试的是:在Web.config
中,我更改了允许用户访问*
并拒绝用户访问?
,但它不起作用
因为cookie是变化的,并且取决于子域和域-为了使其保持相同的cookie,您必须在身份验证行和web.config
上的cookie上定义domain
参数
你必须定义的线是。。。
<authentication mode="Forms">
<forms domain="domain.com" .... />
</authentication>
<roleManager domain="domain.com" >
.... other lines .....
</roleManager>
<httpCookies domain="domain.com" .... />
在没有子域的情况下设置正确的域,您可以在子域上使用相同的经过身份验证的cookie
其他类似的问题:使用相同登录数据库的多个应用程序互相注销