ASp.Net day

Micro blog



About Satalaj

www.satalaj.com

The best inline translator

Live lookup to see what asp.net developers are searching





Membership count online users       by Satalaj 10. September 2009 08:17
    

 Some time we need to count the online users 

If you are new to ASP.net Membership provider,

please refer
http://www.revenmerchantservices.com/page/ASpnet-20-step-by-step-Membership-Provider-.aspx

Below code will count online users

C# Code
MembershipUserCollection uc = Membership.GetAllUsers();

    int count=0; 
  foreach(MembershipUser u in uc)
  {
     if(u.IsOnline)
      count++;
  }


VB Code

Dim uc As MembershipUserCollection = Membership.GetAllUsers()
Dim count As Integer = 0
For Each u As MembershipUser In uc
    If u.IsOnline Then
        count += 1
    End If
Next
You can bind the online user names to ListBox using below code

C# code

System.Collections.Generic.List<string> lstUser = new System.Collections.Generic.List<string>();


        MembershipUserCollection uc = Membership.GetAllUsers();
       
        foreach (MembershipUser u in uc)
        {
            if (u.IsOnline)
               
                lstUser.Add(u.UserName);

        }

        ListBox1.DataSource = lstUser;
        ListBox1.DataBind();


VB code

 System.Collections.Generic.List<string> lstUser = new System.Collections.Generic.List<string>();


        MembershipUserCollection uc = Membership.GetAllUsers();
       
        foreach (MembershipUser u in uc)
        {
            if (u.IsOnline)
               
                lstUser.Add(u.UserName);

        }

        ListBox1.DataSource = lstUser;
        ListBox1.DataBind();


Satalaj

     

MembershipProvider Get user unique key       by Satalaj 10. September 2009 04:24
    
Some times we require to get the user unique key. Below code will get the user unique key from DB.

 
MembershipUser u = Membership.GetUser("UserName");

String Uniquekey = (u.ProviderUserKey);

Web.config membership section

  <membership defaultProvider="xyzMembershipProvider">
   <providers>
    <clear/>
    <add name="xyzMembershipProvider"
         type="System.Web.Security.SqlMembershipProvider"
                                     applicationName="/myApp"
                                     connectionStringName="aspnetdbConnectionString"/>
   </providers>
</membership>

 

     

C# Online users       by Satalaj 11. June 2009 09:26
    

   You can get who is online and how many users online using ASP.net 
you need to configure your Database and Web application to use ASp.net membership provider
After configuring add lbOnlineUsers as a listbox in your page to display who is online

Below code will return number of users online and who is online 

 

System.Collections.Generic.List<string> lstUser = new System.Collections.Generic.List<string>();

int numberOfOnlineUsers = Membership.GetNumberOfUsersOnline();

foreach(MembershipUser u in Membership.GetAllUsers())
      
 // Membership.GetAllUsers will returm MembershipCollctions which holds individual Membership User objects 

 {
    if(u.IsOnline) 
   { 
     lbOnlineUsers.Items.Add(u.UserName); 
   } 
 } 
 

 This way online users will get added to listBox control on Page

Some cool stuff about Membership provider can be found at http://www.revenmerchantservices.com/search.aspx?q=membership

 

     

MembershipProvider       by Satalaj 26. May 2009 09:12
    
  1. We will Configure ASP.net  3.5 Membership Provider VS 2008 using MS SQL server 2005.
  2. First Run ASPnet_RegSql.exe found at $:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe  
    where $ is Root Drive where you have installed the windows. It will open ASP.net SQL server setup.
  3. Click next then Select your Database to autogenerate ASpnet_Membership tables and its stored Procedures views etc.
  4. Configure your WebApplication web.config Belwo web.config code is self explanetory
  5.   <?xml version="1.0"?>

     

    <
    configuration>

    <configSections><

    sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">

    <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"><

    section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>

    <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"><

    section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>

    <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/><

    section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>

    <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/></

    sectionGroup>

    </sectionGroup></

    sectionGroup>

    </configSections><

    appSettings/> <connectionStrings>

    <add name="Comapny_dbConnectionString" connectionString="Data Source=Your_DB_ServerName;Initial Catalog=YourDBNAme;User ID=sa;Password=YourPassword"

    providerName="System.Data.SqlClient" />

     

    </
    connectionStrings><system.web>

     

    <compilation debug="true"><

    assemblies>

    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><

    add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/><

    add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

    <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/></assemblies></

    compilation>

    <!--

    The <authentication> section enables configuration

    of the security authentication mode used by

    ASP.NET to identify an incoming user.

    -->

    <authentication mode="Forms"><

    forms defaultUrl="home.aspx" timeout="30" slidingExpiration="true"></forms>

    </authentication><

    anonymousIdentification enabled="true"/>

    <membership defaultProvider="SqlComapanyMembershipProvider"><

    providers>

     

    <
    add name="SqlComapanyMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="Comapny_dbConnectionString" applicationName="/TestApp"/>

    </providers></

    membership>

    <roleManager defaultProvider="SqlCompanyRoleManager"><

    providers>

    <clear/><

    add name="SqlCompanyRoleManager" applicationName="/TestApp" connectionStringName="Comapny_dbConnectionString" type="System.Web.Security.SqlRoleProvider"/></providers>

     

    </
    roleManager>

     

    <!--

    The <customErrors> section enables configuration

    of what to do if/when an unhandled error occurs

    during the execution of a request. Specifically,

    it enables developers to configure html error pages

    to be displayed in place of a error stack trace.

    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

    <error statusCode="403" redirect="NoAccess.htm" />

    <error statusCode="404" redirect="FileNotFound.htm" />

    </customErrors>

    -->

    <pages><

    controls>

    <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><

    add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    </controls></

    pages>

    <httpHandlers><

    remove verb="*" path="*.asmx"/>

    <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><

    add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/></

    httpHandlers>

    <httpModules><

    add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    </httpModules></

    system.web>

    <system.codedom><

    compilers>

    <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"><

    providerOption name="CompilerVersion" value="v3.5"/>

    <providerOption name="WarnAsError" value="false"/></

    compiler>

    <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"><

    providerOption name="CompilerVersion" value="v3.5"/>

    <providerOption name="OptionInfer" value="true"/><

    providerOption name="WarnAsError" value="false"/>

    </compiler></

    compilers>

    </system.codedom><!--

    The system.webServer section is required for running ASP.NET AJAX under Internet

    Information Services 7.0. It is not necessary for previous version of IIS.

    -->

    <system.webServer><

    validation validateIntegratedModeConfiguration="false"/>

    <modules><

    remove name="ScriptModule"/>

    <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></

    modules>

    <handlers><

    remove name="WebServiceHandlerFactory-Integrated"/>

    <remove name="ScriptHandlerFactory"/><

    remove name="ScriptHandlerFactoryAppServices"/>

    <remove name="ScriptResource"/><

    add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/><

    add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

    </handlers></

    system.webServer>

    <runtime><

    assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

    <dependentAssembly><

    assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>

    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></

    dependentAssembly>

    <dependentAssembly><

    assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>

    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></

    dependentAssembly>

    </assemblyBinding></

    runtime>

    </configuration>

     

  6. Drag and drop Create User Control , Login control and LoginStatus control, Forgot password control From Login controls .

  7. Create user and try to login using newly created user and see the status of loged in user

  8. if status is Lofout tat means you loged into webapplication.Satalaj

     

formsauthenticationticket       by Satalaj 4. June 2007 04:09
    

Here Andrew Zhu, has explained how to generate  net formsauthentication asp.net.

Assume you are using FormsAuthentication.RedirectFromLoginPage() to direct user's request after loging in.

Now, you want the request to be redirected to different pages up to different users. you may need to write you own code to achieve this:

Validate user using Membersip

if (Membership.ValidateUser(TextBox1.Text, TextBox2.Text)) 
 
  {
   // Generate FormsAuthentication ticket
            FormsAuthenticationTicket tkt = new FormsAuthenticationTicket(TextBox1.Text, true, 10);
   // FormsAuthntication encrypt ticket
            string cookiestring = FormsAuthentication.Encrypt(tkt);
   //Create cookie FormsAuthentication Cookie
            HttpCookie httpCookie = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestring);
   // Give cookie FormsAuthnetication Cookie path
            httpCookie.Path = FormsAuthentication.FormsCookiePath;
   // Send cookie in response
            Response.Cookies.Add(httpCookie);

            //then, redirect whatever page you want here

            Response.Redirect("url");
}  

     

Asp.net Membership provider discussion       by Satalaj 5. September 2006 07:02
       You can discuss here,  Asp.net membership provider configurayion, troubleshooting and deployment.

I will try to help http://www.revenmerchantservices.com/page/ASpnet-20-step-by-step-Membership-Provider-.aspx