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