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

3

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

这款旧应用程序会根据用户输入的用户名和密码提取数据。它使用这些用户名和密码来连接AS400并获取不同的数据值(因为用户来自不同的公司)。

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

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

请给我一些建议和方向。非常感谢!

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。至少对于您的应用程序的第一个版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接