PDA

View Full Version : [CSharp] Login Database


Lorenzomakeadifference
11-01-2010, 23:04
Salve ragazzi,
sto sviluppando in C Sharp con Visual Studio 2005 una connessione ad un DB Access con autenticazione.
Dovrei per prima cosa inserire Username e Password ed infine premere il tasto entra per accedere al DB via web.
Per la visualizzazione del DB sul web ho utilizzato un controllo datagrid.
Come posso correlare il pulsante e i relativi campi Username e Password con l'accesso al DB ?

Questo è il codice:
DEFAULT.ASPX.CS


codice:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
namespace Connessione_DB_Prodotti
{
public partial class _Default : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
OleDbConnection dbConn;
OleDbDataAdapter myAdapter;
string sqlCmd;
string strConn;
DataSet oDataSet = new DataSet();
strConn =
"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + Server.MapPath("/Prodotti.mdb") + ";" +
"Persist Security Info=False";
sqlCmd =
"SELECT " +
" ProdottoID, " +
" NomeProdotto, " +
" Prezzo, " +
" PercorsoImmagine " +
" FROM Tabella1";
dbConn = new OleDbConnection(strConn);
myAdapter = new OleDbDataAdapter(sqlCmd, dbConn);
myAdapter.Fill(oDataSet, "Tabella1");
Datagrid.DataSource = oDataSet.Tables["Tabella1"].DefaultView;
Datagrid.DataBind();
}
}
}DEFAULT.ASPX

codice:
<html xmlns="" >
<head>
<title>DB connection</title>
</head>
<body>
<form id="form1" runat="server" >
</form>
<body bgcolor="orange">
<center><h1><b>Effettua il login per accedere al DB</b></h1></center>
<asp:DataGrid id="Datagrid" runat="server" />
</body>
</html>

tomminno
12-01-2010, 13:38
Dovresti eseguire la connessione sull' "evento click" del pulsante di login.
Nel tuo codice sul PageLoad esegui sempre la connessione al db con conseguente caricamento di dati, dovresti spostare questo codice.

Lorenzomakeadifference
12-01-2010, 15:16
Dove lo dovrei spostare?

CwNd
12-01-2010, 15:32
Per gestire l'autenticazione ti converrebbe ricorrere alle Membership API di ASP.NET (http://aspnet.html.it/guide/lezione/2708/i-http://aspnet.html.it/guide/lezione/2708/i-controlli-per-lautenticazione/).
Una volta che riesci a gestire quello, mostrare i dati ai soli utenti loggati è piuttosto semplice :)

tomminno
12-01-2010, 17:04
Dove lo dovrei spostare?

Nella modalità design aggiungi 2 textbox e il pulsante, fai doppio click sopra il pulsante e ti viene generato un nuovo metodo nel Code Behind.

Ma login e password come devi usarli? Sono le credenziali di accesso al db Access?

Spero comunque che questo sia solo un esercizio.

tomminno
12-01-2010, 17:06
Per gestire l'autenticazione ti converrebbe ricorrere alle Membership API di ASP.NET (http://aspnet.html.it/guide/lezione/2708/i-http://aspnet.html.it/guide/lezione/2708/i-controlli-per-lautenticazione/).
Una volta che riesci a gestire quello, mostrare i dati ai soli utenti loggati è piuttosto semplice :)

Direi che questo è un esempio per qualcuno che inizia. Le membership api sono forse un pò troppo complesse da gestire.
Oltretutto lui vuole farsi passare le credenziali di accesso al database, se non ho capito male.

Lorenzomakeadifference
12-01-2010, 17:11
Il DB non ha password. E' un DB Access.
Nei campi Username e Password se scrivo le credenziali da me volute, dovrei accedere al DB, visualizzandolo via Web.