如何在连接到AS400时在ASP.Net MVC上设置动态连接字符串的用户名和密码

问题描述 投票:2回答:1

我正在使用ASP.Net MVC重写旧的Visual Basic 6应用程序。

此旧应用将根据用户输入的用户名和密码提取数据。它使用用户名和密码连接到AS400并获得不同的数据值(因为用户来自不同的公司)。

现在在ASP MVC应用程序上进行开发时,用户将通过另一个门户页面登录并使用cookie身份验证。没有要传递给连接字符串的用户名和密码。此MVC应用程序还需要使用登录信息来连接到AS400。

我的问题是:在vb6应用程序上,它为每个AS400连接使用用户名和密码。但是在ASP应用程序上,我只得到cookie字符串。如果我想连接到AS400,则必须创建一个通用帐户。但是,通用帐户无法区分用户的公司。我不确定AS400如何处理每个用户并提供不同的数据。

请给我一些建议和指示。非常感谢。

asp.net asp.net-mvc vb6 connection-string ibm-midrange
1个回答
0
投票

您有几种选择:

  1. 从门户获取凭据。

不知道门户使用哪种身份验证,但这很可能是最糟糕的选择。传递明文凭证。

  1. 将您的MVC应用程序的用户映射到AS400凭据。

我也将避免使用此选项。必须有人维护这些映射。

  1. 向您的用户询问AS400凭据。

易于实施。不是最佳的用户体验,但接近旧应用程序的表现。

  1. 使用您的通用帐户,并在连接字符串中为每个用户设置库列表。

背景信息:登录后,AS400将设置一个库列表。用于查找数据表之类的对象。在您的情况下,每个公司的库列表可能会有所不同。

这里是示例连接字符串:

    <add name="InforMASConnection" connectionString="DataSource=127.0.0.1;UserID=abc;Password=xyz;naming=1;Library List=WWKO000MAS,WWKD000MAS,WWBD000MAS,ARUBA_EW21" providerName="IBMDA400.DataSource" />

与选项2一样,有人必须维护这些映射。

  1. 实施单点登录。

在这种情况下,您必须与管理员交谈。必须配置。

选项5是最佳的用户体验,但最有效的方法就在您这边。我会选择选项3。至少对于您的应用程序的第一个版本。

© www.soinside.com 2019 - 2024. All rights reserved.