using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Text;
using System.Xml.XPath;
using System.Data.SqlClient;
using System.DirectoryServices;
using System.DirectoryServices.ActiveDirectory;
using System.IO;
using System.Xml;
using System.Collections.Generic;
using Centralpoint;
using Centralpoint.Web;
using Centralpoint.Web.Cms;
using Centralpoint.Web.UI;
using Centralpoint.Web.UI.Controls;
using System.Net;
using System.Text.RegularExpressions;
namespace Centralpoint.WebSite.Custom
{
/// <summary>
/// This class accesses the template authentication sources.
/// </summary>
public class SampleAuthenticationSource : Centralpoint.WebSite.Modules.ICustomAuthenticationSource
{
public string IntegrationId { get; private set; }
public string Email { get; private set; }
public string DisplayName { get; private set; }
public DateTime StartDate { get; private set; }
public DateTime EndDate { get; private set; }
public string[] AudienceIds { get; private set; }
public string AllAudiencesIntegrationId { get; private set; }
public string[] AudienceIntegrationIds { get; private set; }
public string[] RoleIds { get; private set; }
public string[] RoleIntegrationIds { get; private set; }
public CpCollection Properties { get; set; }
public CpCollection Personalization { get; set; }
public CpCollection Configuration { get; set; }
/// <summary>
/// This method is the default constructor.
/// </summary>
public SampleAuthenticationSource()
{
this.AllAudiencesIntegrationId = "ALL_AUDIENCES";
}
/// <summary>
/// This method access the custom authentication source and authenticates the user.
/// </summary>
/// <param name="source">The Admin > Global Login record that is currently in use.
/// <param name="username">The users username.
/// <param name="password">The users password.
/// <returns>Whether the user has been sucessfully authenticated.</returns>
public bool Authenticate(DataInfo source, string username, string password)
{
try
{
string parameters = source.Attributes.Get("CustomParameters");
// the value of the Admin > Global Login > Custom Parameters attribute related to the record currently in use
HttpContext.Current.Trace.Write("TemplateAuthenticationSource.Authenticate", parameters);
//here you can call you your custom authentication source passing "username" and "password" and based on results set user information.
// if user was found and can login you need to return true otherwise return false
if ((username == "Template") && (password == "Template"))
{
//required fields
// this must be set to the users unique identifier and must return the same value every time the same user is authenticated
this.IntegrationId = "USERS_UNIQUE_ID";
this.Email = "centralpoint@oxcyon.com";
this.DisplayName = "Display Name";
this.StartDate = Centralpoint.Utilities.General.SqlMinDate;
this.EndDate = Centralpoint.Utilities.General.SqlMaxDate;
//end of required fields
//each item should relate to an Audience Id in the Site Architecture > Audiences module
this.AudienceIds = new string[] { };
//each item should relate to an Integration Id in the Site Architecture > Audiences module
this.AudienceIntegrationIds = new string[] { this.AllAudiencesIntegrationId };
//each item should relate to a Role Id in the Admin > Roles module
this.RoleIds = new string[] { };
//each item should relate to an Integration Id in the Admin > Roles module
this.RoleIntegrationIds = new string[] { };
//set user properties
this.Properties.Set("ContactFirstName", "Display");
this.Properties.Set("ContactLastName", "Name");
//set user configuration
//this.Configuration.Set("Property", "Value");
//set user personalization
//this.Personalization.Set("Property", "Value");
return true;
}
else
return false;
}
catch (Exception ex)
{
HttpContext.Current.Trace.Warn("Error", ex.Message);
HttpContext.Current.Trace.Warn("Error", ex.StackTrace);
return false;
}
}
}
}
Snippets
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Text;
using System.Xml.XPath;
using System.Data.SqlClient;
using System.DirectoryServices;
using System.DirectoryServices.ActiveDirectory;
using System.IO;
using System.Xml;
using System.Collections.Generic;
using Centralpoint;
using Centralpoint.Web;
using Centralpoint.Web.Cms;
using Centralpoint.Web.UI;
using Centralpoint.Web.UI.Controls;
using System.Net;
using System.Text.RegularExpressions;
namespace Centralpoint.WebSite.Custom
{
///
/// This class accesses the template authentication sources.
///
public class SampleAuthenticationSource : Centralpoint.WebSite.Modules.ICustomAuthenticationSource
{
public string IntegrationId { get; private set; }
public string Email { get; private set; }
public string DisplayName { get; private set; }
public DateTime StartDate { get; private set; }
public DateTime EndDate { get; private set; }
public string[] AudienceIds { get; private set; }
public string AllAudiencesIntegrationId { get; private set; }
public string[] AudienceIntegrationIds { get; private set; }
public string[] RoleIds { get; private set; }
public string[] RoleIntegrationIds { get; private set; }
public CpCollection Properties { get; set; }
public CpCollection Personalization { get; set; }
public CpCollection Configuration { get; set; }
///
/// This method is the default constructor.
///
public SampleAuthenticationSource()
{
this.AllAudiencesIntegrationId = "ALL_AUDIENCES";
}
///
/// This method access the custom authentication source and authenticates the user.
///
/// The Admin > Global Login record that is currently in use.
/// The users username.
/// The users password.
/// Whether the user has been sucessfully authenticated.
public bool Authenticate(DataInfo source, string username, string password)
{
try
{
string parameters = source.Attributes.Get("CustomParameters");
// the value of the Admin > Global Login > Custom Parameters attribute related to the record currently in use
HttpContext.Current.Trace.Write("TemplateAuthenticationSource.Authenticate", parameters);
//here you can call you your custom authentication source passing "username" and "password" and based on results set user information.
// if user was found and can login you need to return true otherwise return false
if ((username == "Template") && (password == "Template"))
{
//required fields
// this must be set to the users unique identifier and must return the same value every time the same user is authenticated
this.IntegrationId = "USERS_UNIQUE_ID";
this.Email = "centralpoint@oxcyon.com";
this.DisplayName = "Display Name";
this.StartDate = Centralpoint.Utilities.General.SqlMinDate;
this.EndDate = Centralpoint.Utilities.General.SqlMaxDate;
//end of required fields
//each item should relate to an Audience Id in the Site Architecture > Audiences module
this.AudienceIds = new string[] { };
//each item should relate to an Integration Id in the Site Architecture > Audiences module
this.AudienceIntegrationIds = new string[] { this.AllAudiencesIntegrationId };
//each item should relate to a Role Id in the Admin > Roles module
this.RoleIds = new string[] { };
//each item should relate to an Integration Id in the Admin > Roles module
this.RoleIntegrationIds = new string[] { };
//set user properties
this.Properties.Set("ContactFirstName", "Display");
this.Properties.Set("ContactLastName", "Name");
//set user configuration
//this.Configuration.Set("Property", "Value");
//set user personalization
//this.Personalization.Set("Property", "Value");
return true;
}
else
return false;
}
catch (Exception ex)
{
HttpContext.Current.Trace.Warn("Error", ex.Message);
HttpContext.Current.Trace.Warn("Error", ex.StackTrace);
return false;
}
}
}
}
Downloads