使用Web服务调用创建cookie

时间:2013-11-11 22:08:30

标签: .net web-services cookies

我有一个PHP网站,它对.NET Web服务进行Soap调用,该服务在与基于.NET的Web应用程序相同的服务器上运行,除了作为Web应用程序运行之外,它还提供了一些来自它的信息。数据库到PHP站点。 PHP / Wordpress站点是一个信息门户+登陆页面上的一堆静态PDF文档,它们位于登录后面,并且托管在与.NET Web应用程序不同的服务器上。典型的用户使用PHP站点上的登录表单进行身份验证,然后该站点将Web服务调用(下面给出Web方法)发送给承载.NET应用程序和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应用程序中的页面

1 个答案:

答案 0 :(得分:0)

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