我有一个PHP站点,它使Soap调用PHP服务,运行在同一台服务器上的基于.NET的网络应用程序,除了作为网络应用程序本身的功能,也提供了一些信息,从其数据库到.NET网站。PHP/Wordpress站点是一个信息门户+登录页面上的一堆静态PDF文档,位于登录页面后面,并且托管在与.NET web应用程序不同的服务器上。典型用户使用PHP站点上的登录表单进行身份验证,然后对托管.NET应用程序和Web服务的服务器进行Web服务调用( web方法如下所示)。根据Web服务调用的结果,授予用户对包含静态文档链接的登录页面的访问权限。这就是棘手的部分。除了指向静态文档的链接之外,该页面还包含一个指向Web应用程序的链接,该应用程序对用户进行身份验证。长话短说,登录页面和Web应用程序的身份验证都是针对Web应用程序使用的数据库进行的。所以我想有一个功能,当用户验证自己在PHP网站上查看的PDF,然后点击链接到.NET网络应用程序,他不应该重新认证自己在这个服务器上进入这个网站。
下面是对用户进行身份验证的代码片段。
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应用程序中的页面
发布于 2013-11-12 22:31:42
从我的理解来看,你有两种方法去做。您可以创建一个cookie并将登录值放入其中(以某种方式加密),然后让.net应用程序查找此cookie,获取这些值并在后台自己登录。或者,您可以让php login生成一个查询字符串,该字符串的作用与此类似。
https://stackoverflow.com/questions/19916931
复制相似问题