c# - 在 Windows 身份验证中,如果在 http://abc.localhost/myweb/ 等 URL 中使用子域(abc),如何允许用户
问题描述
在没有子域的 Windows 身份验证中,http://localhost/myweb/
它在成功显示应用程序页面后询问用户名/密码。
但是当我使用子域运行时,http://abc.localhost/myweb/
它没有获取登录凭据,它给出了未经授权的访问错误。我需要做哪些改变来克服这个问题。
我尝试的是:在Web.config
我更改了允许用户*
和拒绝用户?
但它不起作用
解决方案
这是因为 cookie 是变化的,并且取决于子域和域 - 要使其保持相同的 cookie,您必须domain
在身份验证行和 cookie 上定义参数web.config
你必须定义它的行是......
<authentication mode="Forms">
<forms domain="domain.com" .... />
</authentication>
<roleManager domain="domain.com" >
.... other lines .....
</roleManager>
<httpCookies domain="domain.com" .... />
在没有子域的情况下设置正确的域,您可以在子域上拥有相同的经过身份验证的 cookie
其他类似问题:使用相同登录数据库的多个应用程序相互注销
推荐阅读
- javascript - 分页问题
- python - Python 正则表达式字符串替换问题
- ios - 为什么每次我选择图像时 UIImagePickerViewController 都会增加“文档和数据”的使用?
- java - 如何在 Java 中搜索数组并检查条件
- javascript - amCharts 4:加载外部数据时,值的总和不起作用
- java - 如何使用 Java(Android)从 Yahoo Finance 现金流量表中提取值?
- php - 如何根据 HTML 表单输入从 php 数组中问候用户名?
- angular - 无法在组件中使用多个服务
- networking - 使用 iperf 检查网络带宽
- python - 如何在同一张表中计算最近 12 个月的平均值和最近 4 个季度的平均值