From 851b5652941eae9ddb6a9433b2e8131ab803b5c2 Mon Sep 17 00:00:00 2001 From: darrenferguson Date: Tue, 9 Feb 2010 11:01:18 +0000 Subject: [PATCH] Changed webservice authentication to use configured membership provider. [TFS Changeset #63868] --- .../umbraco.webservices/BaseWebService.cs | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/components/umbraco.webservices/BaseWebService.cs b/components/umbraco.webservices/BaseWebService.cs index c5fe27ce89..7e8132c5cf 100644 --- a/components/umbraco.webservices/BaseWebService.cs +++ b/components/umbraco.webservices/BaseWebService.cs @@ -9,6 +9,8 @@ using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Web.Services; using System.Web.Services.Protocols; +using umbraco.BusinessLogic; +using System.IO; namespace umbraco.webservices { @@ -45,19 +47,24 @@ namespace umbraco.webservices /// public umbraco.BusinessLogic.User GetUser(string username, string password) { + + User u = new User(username); + if(!HttpContext.Current.Request.Url.Scheme.Equals("https")) + BusinessLogic.Log.Add(BusinessLogic.LogTypes.Debug, u, -1, "Webservices login attempted without https"); + try { - umbraco.BusinessLogic.User u = - new umbraco.BusinessLogic.User(username, password); - if (u == null || u.Id == -1) - throw new ArgumentException("Invalid username/password"); - - return u; + if (Membership.Providers[UmbracoSettings.DefaultBackofficeProvider].ValidateUser(username, password)) + { + BusinessLogic.Log.Add(BusinessLogic.LogTypes.Login, u, -1,"Webservices"); + return u; + } } catch { - return null; + } + return null; }