Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo ProfileManager.FindProfilesByUserName (ProfileAuthenticationOption, String)

 

Data di pubblicazione: ottobre 2016

Recupera tutte le informazioni sui profili in cui il nome utente corrisponde al nome specificato.

Spazio dei nomi:   System.Web.Profile
Assembly:  System.Web (in System.Web.dll)

public static ProfileInfoCollection FindProfilesByUserName(
	ProfileAuthenticationOption authenticationOption,
	string usernameToMatch
)

Parametri

authenticationOption
Type: System.Web.Profile.ProfileAuthenticationOption

Uno del ProfileAuthenticationOption vengono restituiti entrambi i tipi di profili o valori di enumerazione che specifica se anonimo, autenticato.

usernameToMatch
Type: System.String

Il nome utente da cercare.

Valore restituito

Type: System.Web.Profile.ProfileInfoCollection

Oggetto ProfileInfoCollection contenente le informazioni sui profili in cui il nome utente corrisponde al nome utente usernameToMatch parametro.

Exception Condition
ArgumentNullException

usernameToMatch è null.

ArgumentException

usernameToMatch è una stringa vuota ("").

Il FindProfilesByUserName metodo restituisce un elenco di tutte le informazioni di profilo per cui il nome utente corrisponde al nome usernameToMatch valore del parametro per l'applicazione configurata ApplicationName valore della proprietà. Utilizzare il authenticationOption parametro per specificare se si desidera solo profili anonimi, solo profili autenticati o tutti i profili in cui cercare.

È possibile recuperare le informazioni sui profili utente nelle pagine di dati tramite l'overload per il FindProfilesByUserName metodo che accetta ulteriore pageIndex e pageSize i parametri.

Si noti che il provider di profili può supportare caratteri jolly nel usernameToMatch parametro. Ad esempio, il FindProfilesByUserName metodo la SqlProfileProvider classe supporta caratteri jolly nel usernameToMatch parametro.

Il FindProfilesByUserName chiamate al metodo di FindProfilesByUserName metodo del provider di profili predefinito. Provider di profili predefinito viene specificato utilizzando il defaultProvider attributo dell'elemento di configurazione. Se il profilo utente contiene proprietà che sono gestite da un provider di profili diverso da quello predefinito, l'origine dati per tale provider non viene eseguita la ricerca. Per trovare i profili che sono gestiti da un provider di profili diverso da quello predefinito, ottenere un riferimento al provider di profili mediante la Providers proprietà e chiamare il FindProfilesByUserName metodo del provider direttamente.

Esempio di codice seguente consente di fornire un usernameToMatch valore e un ProfileAuthenticationOption valore di enumerazione e recupera le informazioni sui profili corrispondenti del profilo. Nell'esempio consente all'utente di specificare se devono essere restituiti solo profili inattivi. Se l'utente specifica solo profili inattivi, il FindInactiveProfilesByUserName metodo viene chiamato; in caso contrario, il FindProfilesByUserName viene chiamato il metodo.

System_CAPS_security Sicurezza Nota

In questo esempio contiene una casella di testo che accetta l'input dell'utente, ovvero una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per altre informazioni, vedere Script Exploits Overview.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Profile" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

ProfileAuthenticationOption authOption;

int inactiveDays = 90;

public void Page_Load()
{
  InactiveDaysLabel.Text = inactiveDays.ToString();
  authOption = GetAuthenticationOption();

  InactiveProfilesLabel.Text = ProfileManager.GetNumberOfInactiveProfiles(authOption,
                                 DateTime.Now.Subtract(new TimeSpan(inactiveDays, 0, 0, 0))).ToString();

  DeletedMessage.Text = "";
}


private ProfileInfoCollection GetProfiles()
{
  ProfileInfoCollection profiles;

  if (ShowInactiveCheckBox.Checked)
  {
    profiles = ProfileManager.FindInactiveProfilesByUserName(authOption, 
                 UserNameTextBox.Text, 
                 DateTime.Now.Subtract(new TimeSpan(inactiveDays, 0, 0, 0)));
  }
  else
  {
    profiles = ProfileManager.FindProfilesByUserName(authOption, 
                 UserNameTextBox.Text);
  }

  return profiles;
}

private void ShowProfiles()
{
  if (UserNameTextBox.Text.Trim() == "")
  {
    Msg.Text = "Please specify a user name.";
    ProfileGrid.Visible = false;
    return;
  }

  Msg.Text = "";
  ProfileGrid.Visible = true;

  ProfileGrid.DataSource = GetProfiles();
  ProfileGrid.DataBind();
}

public void GoButton_OnClick(object sender, EventArgs args)
{
  ShowProfiles();
}

public void ShowInactiveCheckBox_OnCheckedChanged(object sender, EventArgs args)
{
  ShowProfiles();
}

public void DeleteButton_OnClick(object sender, EventArgs args)
{
  DeletedMessage.Text = ProfileManager.DeleteProfiles(GetProfiles()).ToString() + 
                          " profiles deleted.";
  ShowProfiles();
}

public void AuthenticationOptionListBox_OnSelectedIndexChanged(object sender, EventArgs args)
{
  authOption = GetAuthenticationOption();
  ShowProfiles();
}

private ProfileAuthenticationOption GetAuthenticationOption()
{
  if (AuthenticationOptionListBox.SelectedItem != null)
  {
    switch (AuthenticationOptionListBox.SelectedItem.Value)
    {
      case "Anonymous":
        return ProfileAuthenticationOption.Anonymous;
        break;
      case "Authenticated":
        return ProfileAuthenticationOption.Authenticated;
        break;
      default:
        return ProfileAuthenticationOption.All;
        break;
    }
  }

  return ProfileAuthenticationOption.All;
}

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Find Profiles</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Profile List</h3>

  <asp:Label id="Msg" runat="Server" ForeColor="red" /><br />

  <table border="0" cellpadding="3" cellspacing="3">
    <tr>
      <td valign="top">UserName to Search for:</td>
      <td valign="top" colspan="2">
        <asp:TextBox id="UserNameTextBox" runat="server" />
        <asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" runat="server" /><br />
      </td>
    </tr>
    <tr>
      <td valign="top">Authentication Option</td>
      <td valign="top"><asp:ListBox id="AuthenticationOptionListBox" rows="3" runat="Server"
                                    AutoPostBack="true"
                                    OnSelectedIndexChanged="AuthenticationOptionListBox_OnSelectedIndexChanged">
                         <asp:ListItem value="All" selected="True">All</asp:ListItem>
                         <asp:ListItem value="Authenticated">Authenticated</asp:ListItem>
                         <asp:ListItem value="Anonymous">Anonymous</asp:ListItem>
                       </asp:ListBox>
      </td>
      <td valign="top"><asp:CheckBox id="ShowInactiveCheckBox" Checked="false" 
                                     AutoPostBack="true" runat="server"
                                     OnCheckedChanged="ShowInactiveCheckBox_OnCheckedChanged" />
                       Show profiles inactive for
                       <asp:Label id="InactiveDaysLabel" runat="server" />
                       days only.<br />
                       There are <asp:Label id="InactiveProfilesLabel" runat="server" />
                       inactive profiles.
      </td>
    </tr>
    <tr>
      <td><asp:Button id="DeleteButton" runat="server" 
                      Text="Delete Profiles" OnClick="DeleteButton_OnClick" />
          <br /><i>(based on search results)</i>
      </td>
      <td valign="top"><asp:Label id="DeletedMessage" runat="server" /></td>
    </tr>
  </table>

  <asp:DataGrid id="ProfileGrid" runat="server"
                CellPadding="2" CellSpacing="1"
                Gridlines="Both">
    <HeaderStyle BackColor="darkblue" ForeColor="white" />
  </asp:DataGrid>

</form>

</body>
</html>

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: