代码之家  ›  专栏  ›  技术社区  ›  AlexanderJohannesen

在我自己的环境中自动登录到供应商的ASP.Net应用程序

  •  0
  • AlexanderJohannesen  · 技术社区  · 14 年前

    我有一个我管理的内联网,我们刚刚购买了一些没有现成LDAP/AD支持的供应商系统。我认为这是一个ASP.Net应用程序(login.aspx[hint1]上有一个id=“aspnetForm”[hint2]的表单),我认为,在我完美运行的想象中,我所要做的就是将用户凭据作为参数传递到登录页面(我已经将他们的用户名注入到供应商的数据库中,我可以手动使用这些用户名登录),它就成功了。不是这样。

    乌里看起来像这样;http://[apps_domain]/Controls/CtlLogin.aspx

    我无法访问这个ASP.Net环境,只能通过URI访问它,但我可以完全访问该环境中的另一台服务器,在该服务器上我可以运行各种脚本,最好是PHP(因为我们用PHP运行了一些其他应用程序,我们有具备这些技能的人)。

    有没有一些默认的方式,ASP.Net提供简单的登录到他们的应用程序?我在其他地方使用NTLM和AD来验证凭据,我只需要将这些凭据注入ASP.Net应用程序。我原以为这会更简单…:)

    1 回复  |  直到 14 年前
        1
  •  0
  •   Dai    14 年前

    您希望如何实现它。您希望现有的基于表单的登录,但允许用户在表单中输入他们的AD凭据(如Outlook Web Access),还是让应用程序通过HTTP标头使用IIS/Windows NTLM或Kerberos身份验证(这更安全,因为用户无需键入用户名/密码)。

    如果不知道有关您购买的此应用程序的更多信息,我就不能说。ASP.NET确实为身份验证提供了几个后端,但这个应用程序很可能会自己滚动。如果应用程序确实使用了stock“Membership”或web.config定义的身份验证和成员资格系统,那么它 假设地 您可以将web.config文件更改为使用ActiveDirectory/Ldap/Kerberos提供程序,而不是它自己的提供程序,但是根据我的经验,很少有ASP.NET应用程序(除了琐碎的Hello,World示例之外)使用本书中的Membership系统。不要指望这会起作用,你需要深入了解ASP.NET的会员系统。正如我所说,所有这些都是基于您的应用程序首先使用Membership的假设。

    你打算如何让你的PHP脚本工作,确切地说?身份验证的工作原理是让客户端提交一个表单,服务器使用cookie进行响应。你不能委托这些任务——我猜你必须代理它,但那样你就会陷入一个充满伤害的世界。

    简而言之,我会与供应商联系,要求进行修改,以便与您现有的系统集成或获得退款。

    推荐文章