Re: Login Form return OK, but lgoin failed!

  •  05-04-2011, 4:43 PM

    Re: Login Form return OK, but lgoin failed!

    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

    }
    ////////////////
     
View Complete Thread