Link to home
Start Free TrialLog in
Avatar of r3nder
r3nderFlag for United States of America

asked on

I am trying to get the username from the login screen to write it to the database

I am trying to get the username on login form and assign it to a variable and write it to the database - Below is what I have so far, but I am stuck
this is the login page..........Please help
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Login</title>
</head>
<body>
    <form id="form1" runat="server">
    <div align = "Left">
        <table style="width: 100%;">
            <tr>
                <td><asp:Label ID="Label3" runat="server" Text="Domain:  "></asp:Label></td>
                <td><asp:TextBox ID="txtBxDomain" runat="server" text="Domain" ReadOnly="true"></asp:TextBox></td>
            </tr>
            <tr>
                <td><asp:Label ID="Label1" runat="server" Text="Username:"></asp:Label></td>
                <td><asp:TextBox ID="txtBxUser" runat="server"></asp:TextBox></td>
            </tr>
            <tr>
                <td><asp:Label ID="Label2" runat="server" Text="Password:"></asp:Label></td>
                <td><asp:TextBox textmode="password" ID="txtBxPass" runat="server"></asp:TextBox></td>
            </tr>
        </table>
       <asp:Button ID="btnLogon" runat="server" Text="Verify" onclick="Submit_ServerClick"/>
       <br /><asp:Label ID="lblError" runat="server"></asp:Label>
    </div>
    
    </form>
</body>
</html>

Open in new window

this is the code behind
using System;
using System.Collections;
using System.Configuration;
using System.Data;
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.Security.Principal;
using System.DirectoryServices;

public partial class Default2 : System.Web.UI.Page
{
    
    protected void Page_Load(object sender, EventArgs e)
    {
        
    }
    protected void Submit_ServerClick(object sender, EventArgs e)
        {
            //Response.Redirect("Default.aspx");
            //program p = new program();
            
        
            if (!String.IsNullOrEmpty(txtBxDomain.Text.Trim()) && !String.IsNullOrEmpty(txtBxUser.Text.Trim()))
            {


                if (program.LogonHelper.VerifyADLogon(txtBxDomain.Text, txtBxUser.Text, txtBxPass.Text))
                    {
                        Response.Redirect("Default.aspx?txtBxUser.text");

                    }
                    else
                    {
                        lblError.Text="Please try again";
                    }
                }
        }
 
}

Open in new window

This is where I am trying to assign it
 protected void Page_Load(object sender, EventArgs e)
    {
        //



        string NtAccountName = Default2.txtBxUser;
       
        //WindowsIdentity currIdentity = WindowsIdentity.GetCurrent();
        //string NtAccountName = currIdentity.Name.Substring(currIdentity.Name.IndexOf("\\") + 1);
        
        Response.Write(NtAccountName);
        if (NtAccountName == "Render" || NtAccountName == "r3nder")
        {
//my code
}

Open in new window


Avatar of systan
systan
Flag of Philippines image

string NtAccountName;
NtAccountName = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();
MessageBox.Show(NtAccountName.ToString());
Avatar of puru1981
puru1981

since you haven't set any authentication on Default2 page you will not get the name here

System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString()

so changes are here

default2.cs

Response.Redirect("Default.aspx?txtBxUser.text");
 
to

Response.Redirect("Default.aspx?u=txtBxUser.text");


default.cs

string NtAccountName = Context.Request.QueryString["u"].ToString();
Avatar of r3nder

ASKER

Sorry comes back as NT AUTHORITY\NETWORK SERVICE
I tried something close to it
         WindowsIdentity currIdentity = WindowsIdentity.GetCurrent();
        string NtAccountName = currIdentity.Name.Substring(currIdentity.Name.IndexOf("\\") + 1);

This gave me Network service
I need the value of txtBxUser from the login form
Avatar of r3nder

ASKER

puru1981
Closer.........comes back as txtBxUser.text
sorry it should be

Response.Redirect("Default.aspx?u=" + txtBxUser.text);
Avatar of r3nder

ASKER


The error I get now is
System.Web.UI.WebControls.TextBox' does not contain a definition for 'text' and no extension method 'text' accepting a first argument of type 'System.Web.UI.WebControls.TextBox' could be found (are you missing a using directive or an assembly reference?)
ASKER CERTIFIED SOLUTION
Avatar of puru1981
puru1981

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of r3nder

ASKER

Thank you sir