gpt4 book ai didi

asp.net - 将一个 Asp.net Membership 数据库与多个应用程序一起使用

转载 作者:行者123 更新时间:2023-12-03 12:14:56 25 4
gpt4 key购买 nike

我在一台 IIS 服务器上有两个 asp.net 应用程序,我想使用相同的后端 asp_security 数据库和成员资格提供程序。我已经读过我所要做的就是在两个 Web 配置中引用相同的应用程序名称,就像我现在正在做的那样,但我一定做错了什么

在每个应用程序 web.config 中我都有这个部分。

<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="membership"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
applicationName="/"
requiresUniqueEmail="false"
minRequiredPasswordLength="5"
minRequiredNonalphanumericCharacters="0"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
/>
</providers>
</membership>

当我从应用程序 A 登录并浏览到应用程序 B 时,应用程序 B 似乎对我或应用程序 A 的凭据一无所知。有人知道我做错了什么吗?

最佳答案

只是为了结束,我将回答我是如何实现我最初的问题所要求的目标的。

我在一台 IIS 服务器上有两个 asp.net 应用程序。我的目标是当用户登录到 app1 时,他们的用户凭据将在 app2 中可用。配置 asp.net 成员资格提供程序只是我正在寻找的一个步骤。即使两个应用程序都使用相同的后端数据库和提供程序,当我点击 app2 时,我仍然无法通过身份验证。我一直在寻找的是单点登录解决方案。

一旦您将两个应用程序都指向您的 asp_membership 数据库,请将以下内容放在您的 web 配置的 system.web 部分

<authentication mode="Forms" />
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="membership"
applicationName="/"
/>
</providers>
</membership>
<roleManager enabled="true" />

确保两者都具有相同的 applicationname 属性集。

我使用的是 IIS 6,因此我将其配置为为两个应用程序自动生成机器 key 。因为这两个应用程序都存在于同一台机器上,所以 key 是相同的,这是使 SSO 工作的关键部分。设置 IIS 后,将以下内容添加到我的 web.config
    <machineKey decryptionKey="AutoGenerate" validation="SHA1" validationKey="AutoGenerate" />

这就是它的全部。完成后,我可以登录 app1,然后浏览到 app2 并保留我的安全凭证。

感谢您朝着正确的方向插入。

关于asp.net - 将一个 Asp.net Membership 数据库与多个应用程序一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2274688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com