2013-05-04 69 views
0

只是一个小的查询System.Web.Services:有没有在Context.User.Identity密码财产

使用.NET Web服务,并创建了简单的登录方法

[WebMethod] 
    public bool Login(string sUsername, string sPwd) 
    { 
     if (sUsername == Context.User.Identity.Name && **sPwd == "123456"**) 
     { 
      FormsAuthentication.SetAuthCookie(sUsername, true); 
      return true; 
     } 
     else 
      return false; 

    } 

IM有任何密码财产比如“Context.User.Identity.Name”。或任何其他可替代

请建议,如果我失去了一些东西

+0

你想完成windows验证?而且没有这种灵活的上下文.user.identity.password – 2013-05-04 13:11:15

+0

ASMX是一项传统技术,不应该用于新开发。 WCF应该用于Web服务客户端和服务器的所有新开发。一个暗示:微软已经在MSDN上退役了[ASMX Forum](http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads)。 – 2013-05-04 13:50:09

回答

0

你的做法是没有意义的。 Context.User由Forms Authentication模块设置,该模块依赖于表单cookie的信息。另一方面,您尝试使用这些信息来实际发布cookie。

这意味着您实际上需要cookie来发出cookie。这不起作用。

尝试重新思考该方法 - 您可能需要外部数据源(如数据库或其他)来验证您的用户。在数据库中,您将以某种方式存储用户名和密码。