加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

使用一个Asp.net成员数据库与多个应用程序单一登录

发布时间:2020-12-16 00:37:01 所属栏目:asp.Net 来源:网络整理
导读:我在一个IIS服务器上有两个asp.net应用程序,我想使用相同的后端asp_security数据库和成员资格提供程序。我已经读过,我所要做的只是在两个web配置中引用相同的应用程序名称,就像我现在在做,但是我一定在做错事 在每个应用程序web.config中,我有这个部分
我在一个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,PublicKeyToken=b03f5f7f11d50a3a"
              connectionStringName="membership"
              applicationName="/"
              />
  </providers>
</membership>
<roleManager enabled="true" />

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

我使用IIS 6,所以我配置它为两个应用程序自动生成一个机器密钥。因为这两个应用程序都生活在同一台机器上,因此这个关键是相同的,这是使SSO工作的关键部分。设置IIS后,将以下内容添加到我的web.config中

<machineKey decryptionKey="AutoGenerate" validation="SHA1" validationKey="AutoGenerate" />

那就是这一切。一旦完成,我可以登录到app1,然后浏览到app2并保留我的安全凭据。

感谢推动方向正确。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读