Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Aiuto su autenticazione

    mi sto cimentando con il processo di login.
    nel database ho una tabella utenti dove sono registrati gli utenti e i profili.
    ho aggiunto un file web.config a una sottodirectory per evitare l'accesso se nn si è registrati.
    ho creato una pagina di login.
    ma quello che nn ho capito è come faccio a verificare i dati.
    cioè, per ora se clicco sul pulsante nn succede nulla mentre dovrebbe fare la query su db per verificare l'esistenza dell'utente.
    nn capisco però dove fare ciò.
    login.aspx:
    Codice PHP:
    <%@ Page Title="Log In" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
        
    CodeBehind="Login.aspx.cs" Inherits="Telenews.Account.Login" %>

    <
    asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    </
    asp:Content>
    <
    asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
        <
    h2>
            
    Log In
        
    </h2>
        <%--    


            
    Please enter your username and password.
            <
    asp:HyperLink ID="RegisterHyperLink" runat="server" EnableViewState="False">Register</asp:HyperLink>
            if 
    you don't have an account.
        </p>--%>
        <asp:Login ID="LoginUser" runat="server" EnableViewState="false" RenderOuterTable="false">
            <LayoutTemplate>
                <span class="failureNotification">
                    <asp:Literal ID="FailureText" runat="server"></asp:Literal>
                </span>
                <asp:ValidationSummary ID="LoginUserValidationSummary" runat="server" CssClass="failureNotification"
                    ValidationGroup="LoginUserValidationGroup" />
                <div class="accountInfo">
                    <fieldset class="login">
                        <legend>Account Information</legend>
                        


                            <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Username:</asp:Label>
                            <asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
                                CssClass="failureNotification" ErrorMessage="User Name is required." ToolTip="User Name is required."
                                ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
                        </p>
                        


                            <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label>
                            <asp:TextBox ID="Password" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
                            <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
                                CssClass="failureNotification" ErrorMessage="Password is required." ToolTip="Password is required."
                                ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
                        </p>
                        <%--                    


                            <asp:CheckBox ID="RememberMe" runat="server" />
                            <asp:Label ID="RememberMeLabel" runat="server" AssociatedControlID="RememberMe" CssClass="inline">Keep me logged in</asp:Label>
                        </p>--%>
                    </fieldset>
                    <p class="submitButton">
                        <asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" ValidationGroup="LoginUserValidationGroup" />
                    </p>
                </div>
            </LayoutTemplate>
        </asp:Login>
    </asp:Content> 
    web.config generale del sito:
    Codice PHP:
    <?xml version="1.0"?>

    <!--
      For more information on how to configure your ASP.NET application, please visit
      [url]http://go.microsoft.com/fwlink/?LinkId=169433[/url]
      -->

    <configuration>
      <connectionStrings>
        <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
          providerName="System.Data.SqlClient" />
        <add name="MYTELENEWS" connectionString="Data Source=10.0.5.131;Initial Catalog=TELENEWS;Persist Security Info=True;User ID=sa;Password=sa"
          providerName="System.Data.SqlClient" />
      </connectionStrings>

      <system.web>

        <compilation debug="true" targetFramework="4.0" />

        <authentication mode="Forms">
          <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
        </authentication>

        <membership>
          <providers>
            <clear/>
            <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
                 enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
                 maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
                 applicationName="/" />
          </providers>
        </membership>

        <profile>
          <providers>
            <clear/>
            <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
          </providers>
        </profile>

        <roleManager enabled="false">
          <providers>
            <clear/>
            <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
            <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
          </providers>
        </roleManager>

      </system.web>

      <system.webServer>
        <modules runAllManagedModulesForAllRequests="true"/>
      </system.webServer>
    </configuration>
    help!!

  2. #2
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    ma quello che nn ho capito è come faccio a verificare i dati.
    cioè, per ora se clicco sul pulsante nn succede nulla mentre dovrebbe fare la query su db per verificare l'esistenza dell'utente.
    nn capisco però dove fare ciò.
    diciamo che te nn dovresti fare nulla perche ci pensa il webcontrol stesso con l'aiuto di questo AspNetSqlMembershipProvider a fare le giuste query per autenticare l'utente.

    per vedere se poi dopo il click l'utente è registrato dovresti provare a leggere il contenuto di

    Page.User.Identity.IsAuthenticated()
    e cmq dovresti utilizzare le membership api http://msdn.microsoft.com/it-it/library/cc185055.aspx , per tutte le operazioni riguardanti la gestione degli utenti


    spero di essere stato d'aiuto


  3. #3
    aspettando circa due minuti ottengo (almeno) un errore:
    codice:
    A network-related or instance-specific error occurred while establishing a connection to SQL Server. 
    The server was not found or was not accessible. 
    Verify that the instance name is correct and that SQL Server is configured to allow remote connections. 
    (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
    il server è configurato e raggiungibile perchè in altre pagine visualizzo i dati senza problemi.

  4. #4
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    se i tuoi dati provengono da qui
    <add name="MYTELENEWS" connectionString="Data Source=10.0.5.131;Initial ...
    siginifica che riesci a vedere e utilizzare questo db

    mentre la gestione degli utenti la fai con questo

    <add name="ApplicationServices" connectionString="data source=.SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspn etdb.mdf;User Instance=true"
    providerName="System.Data.SqlClient" />

    che è un file di testo presente in App_Data, comportamento di default di VS2010. forse lo hai cancellato oppure non è stato creato per qualche altro motivo e quindi nn riesce a connetersi a questo db.

  5. #5
    penso che mi serva aspnet_regsql.exe per usare membership provider.
    o almeno così ho capito leggendo l'msdn.
    però nn lo trovo.
    possibile che nn ci sia su windows server 2008 con sql server 2008?
    bho

    edit: trovato!

  6. #6
    se i tuoi dati provengono da qui
    <add name="MYTELENEWS" connectionString="Data Source=10.0.5.131;Initial ...
    siginifica che riesci a vedere e utilizzare questo db

    mentre la gestione degli utenti la fai con questo

    <add name="ApplicationServices" connectionString="data source=.SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspn etdb.mdf;User Instance=true"
    providerName="System.Data.SqlClient" />

    che è un file di testo presente in App_Data, comportamento di default di VS2010. forse lo hai cancellato oppure non è stato creato per qualche altro motivo e quindi nn riesce a connetersi a questo db.
    io penso nn sia stato creato proprio.
    io la tabella con gli utenti già ce l'ho.
    da quanto ho capito devo prima impostargli quella tabella per gestire gli utenti, e poi posso fare il login, aggiungere utenti, ecc.
    come faccio a fare questa operazione??

  7. #7
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    io la tabella con gli utenti già ce l'ho.
    come hai creato questa tabella ? secondo un tuo standard oppure attrverso l'utility di VS che ti permette di configurare un'applicazione ASP.NET?

    Comunque :
    aspnet_regsql.exe ti crea tutte le tabelle necessarie per far funzionare i provider di default di asp.net SqlMembershipProvider , SqlRoleProvider etc etc

    Quello che devi fare e poi impostare correttamente la stringa di connessione utilizzata da questi provider che nel tuo codice è indicata da questa

    <add name="ApplicationServices" connectionString="data source=.SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspn etdb.mdf;User Instance=true"
    providerName="System.Data.SqlClient" />


    ma la devi adattare al db che hai creato con aspnet_regsql.exe

    a questo punto dovresti avere le carte in regola per far girare l'autentcazione sulla tua applicazione.

  8. #8
    la tabella l'ho creata a mano con sql server.
    è una replica di una che già c'era.
    ma visto che mi sono state create già la tabelle forse è meglio usare quelle.
    ma ho qualche domanda:
    -la tabella che devo riempire in fase di registrazione è aspnet_Users o aspent_Membership?
    -la tabella che mi servirà dopo per gestire le autorizzazioni (c'è chi può solo vedere le pagine, chi può anche aggiungere dati, chi può fare tutto, ecc) è aspnet_Roles?

    in sostanza mi ha creato parecchie tabelle ma nn capisco quali mi servono affettivamente e quali no.

  9. #9
    messo a posto il Web.config fa tutto lui.
    ho fatto la prima registrazione e riempire lui le tabelle necessarie.

    però vorrei capire da dov dovrei gestire i ruoli.
    cioè io ho bisogno di due tipi di account:
    -amministratore
    -manager

    questi profili sapete da dove dovrei gestirli??

  10. #10
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    Li puoi gestire con lo strumento di configurazione di Asp.NET presente su VS oppure mediante le classi di SqlRoleProvider


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.