Sure, here it is:
////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using CuteChat;
using System.Data;
using System.Data.Common;
using System.Collections;
using System.Data.SqlClient;
using System.Data.Sql;
/// <summary>
/// Summary description for CCDVAChatProvider
/// </summary>
///
namespace ccdva
{
public class ASPNetChatProvider : ChatProvider
{
public ASPNetChatProvider()
{
//
// TODO: Add constructor logic here
//
}
static private string CuteChatConnectionStringConfigName = "ccdvaChat";
public override string GetConnectionString()
{
return System.Configuration.ConfigurationManager.ConnectionStrings[CuteChatConnectionStringConfigName].ConnectionString;
}
public override AppChatIdentity GetLogonIdentity()
{
if (!HttpContext.Current.User.Identity.IsAuthenticated)
return null;
return new AppChatIdentity(HttpContext.Current.User.Identity.Name, false, ToUserId(HttpContext.Current.User.Identity.Name), HttpContext.Current.Request.UserHostAddress);
}
public override string FindUserLoginName(string nickName)
{
System.Web.Security.MembershipUser user = System.Web.Security.Membership.GetUser(nickName, false);
if (user != null && user.IsApproved)
return user.UserName;
return null;
}
public override bool GetUserInfo(string loginName, ref string nickName, ref bool isAdmin)
{
System.Web.Security.MembershipUser user = System.Web.Security.Membership.GetUser(loginName, false);
if (user != null && user.IsApproved)
{
nickName = user.UserName;
// Default code was:
// isAdmin=Roles.IsUserInRole(user.UserName,"Administrators");
// If users are Staff, then consider them admins.
string[] roles = System.Web.Security.Roles.GetRolesForUser(user.UserName);
if (roles.Contains("Staff")) isAdmin = true;
return true;
}
return false;
}
public override bool ValidateUser(string username, string password)
{
if (!System.Web.Security.Membership.ValidateUser(username, password))
{
return false;
}
System.Web.Security.FormsAuthentication.SetAuthCookie(username, false, HttpRuntime.AppDomainAppVirtualPath);
return true;
}
} // end class
}