Asp.net形成认证和多个域
|
我有两个域,domain1.com和domain2.com指向同一asp.net网站使用asp.net构建在窗体身份验证。问题是,即使域指向同一网站,用户一次只能获得一个域的身份验证。因此,如果他先使用www.domain1.com,然后访问www.domain2.com,它是在后面的同一个网站,但他只能通过认证www.domain1.com。同样的事情发生,如果他在访问网站时使用www而不是www。 这是我用来登录: FormsAuthentication.RedirectFromLoginPage(username,cookie.Checked); 检查登录: User.Identity.IsAuthenticated 如何使用户获得对指向同一网站的所有域的身份验证? 解决方法您接下来是一个单点登录解决方案。由于ASP.NET身份验证通常基于cookie,因此有两件事要注意: >正确设置您的Cookie。 看看这两个更深入: 1.正确设置Cookie 您需要确保ASP.NET正在将认证券Cookie写入根域,而不是显式域,这是使用forms元素的domain属性完成的: <forms name="name" loginUrl="URL" defaultUrl="URL" domain=".example.com"> </forms> 您应该将您的网域设置为“.example.com” – 注意前导期间 – 这是关键。这样,对example.com和www.example.com的请求将正确读取cookie,并对用户进行身份验证。 2.将用户退回到备用域 我们在使用单点登录的几个网站上实现的是往返登录过程。用户在第一个域上进行身份验证,我们加密登录详细信息,并将其重定向到第二个域上的已知页面,将其记录在那里,然后重定向回原始服务器。 这个客户端重定向很重要 – Cookie只有在有响应回到客户端时才写入,浏览器必须访问第二个域才能真正看到cookie。 在这种设置中要考虑的其他细节: >您可能想要在加密的登录详细信息上超时,以便从浏览器历史记录中调用该网址不会自动记录用户。 你也可以看看“Forms Authentication Across Applications” (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何打印与phpinfo()但ASP.NET类似的信息?
- asp.net-mvc – 在每个网址的末尾添加尾部斜杠?
- asp.net-core – asp.net核心身份中的多个SubDomain的cooki
- asp.net-mvc-3 – 如何有效地从自相关表中加载数据
- asp.net-mvc – 如何对剃刀视图进行单元测试
- asp.net-mvc – requestValidationMode =“2.0”实际上是做
- asp.net – Web API中的每路径格式化程序配置
- asp.net-mvc-2 – 读取HTTP请求自定义标头
- ASP.NET MVC是否使Web表单成为旧版平台?
- asp.net-mvc – 使用ASP.NET身份重置密码时的令牌无效
- asp.net-mvc – 是否有一个ASP MVC与JSTL标签等效
- asp.net-mvc-3 – 在ASP.NET MVC 3视图中渲染Sys
- asp.net-mvc – 是否可以使用实体框架代码首先设
- asp.net-mvc – 如何找出在MVC3中调用我的视图的
- views – 我应该在asp.net MVC6中为我的所有图像
- asp.net – 我可以在卫星装配中组合本地资源吗?
- .net – RegularExpressionValidator使用除Regex
- asp.net-mvc-3 – 如何在乌节项目中完成多租户
- asp.net – 使用WebAPI时重新验证模型(TryValida
- asp.net – 检查是否在集成管道模式
