0

我有一个 PHP 网站,它对 .NET Web 服务进行 Soap 调用,该服务与基于 .NET 的 Web 应用程序在同一台服务器上运行,除了作为 Web 应用程序本身运行之外,它还从其数据库向PHP 网站。PHP/Wordpress 站点是一个信息门户 + 登陆页面上的一堆静态 PDF 文档,位于登录后,它托管在与 .NET Web 应用程序不同的服务器上。典型的用户使用 PHP 站点上的登录表单进行身份验证,然后对托管 .NET 应用程序和 Web 服务的服务器进行 Web 服务调用(Web 方法如下所示)。根据 Web 服务调用的结果,用户被授予访问包含静态文档链接的登录页面的权限。这是棘手的部分。除了指向静态文档的链接之外,该页面还包含一个指向对用户进行身份验证的 Web 应用程序的链接。长话短说,登录页面和 Web 应用程序的身份验证都是针对 Web 应用程序使用的数据库完成的。所以我想要一个功能,当用户在 PHP 站点上验证自己以查看 PDF,然后单击指向 .NET Web 应用程序的链接时,他不必在此服务器上重新验证自己以进入此站点。

这是对用户进行身份验证的代码片段。

public string Login(string username, string password)
{
    LoginUser user = LoginUserRepository.GetUserByUsername(username);
    if (user.Password.Equals(password))
    {
        return "success"+" "+user.Role; 
    } 
    else
    {
        return "Wrong Password";
    }  
}

然后,调用此 Web 服务的 php 文件为 PHP 站点的用户创建一个会话。在上面的代码片段中,有没有一种方法可以创建一个 cookie,这样用户就不必再次验证自己来访问 .NET Web 应用程序中的页面

4

1 回答 1

0

从我理解的方式来看,您有两种方法可以解决。您可以创建一个 cookie 并将登录值放入其中(以某种方式加密),然后让 .net 应用程序查找此 cookie 获取这些值并在后台将它们登录。或者您可以让 php 登录生成一个查询字符串,该字符串将起到类似的作用。

于 2013-11-12T14:31:41.807 回答