C# - Formes d'Authentification Code-Behind w Personnalisé Rôle et les Fournisseurs d'Appartenance
Malheureusement, tous les exemples de Formulaires d'Authentification de Code Derrière w/Custom Rôle et les Fournisseurs d'Appartenance-je trouver en ligne sont écrites avec une VB.NET code derrière et j'ai besoin d'un code C# derrière. S'il vous plaît aider!!!!
J'ai besoin d'un code qui permettra d'effectuer les opérations suivantes:
- authentifier l'utilisateur à la connexion, cliquez sur le bouton
- si l'utilisateur active_flag=0 (faux) OU le mot de passe!=@le mot de passe, l'affichage d'erreur "Accès Refusé"
- si l'utilisateur admin_flag=1 & indicateur actif=1 (vrai), rediriger vers admin_pages\zipsearch.aspx
- si l'utilisateur admin_flag=0 (false) & active_flag=1 (vrai), les rediriger vers des pages\zipsearch.aspx
Par défaut.aspx Code:
<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>
<p>
<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>
<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>
<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>
Web.fichier de configuration:
<authentication mode="Forms">
<forms loginUrl="~/default.aspx" timeout="2880" />
</authentication>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="OleConnectionStringSource"
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>
Par défaut.aspx.cs code derrière:
namespace ACAWebApplication
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
RegisterHyperLink.NavigateUrl = "Register.aspx?ReturnUrl=" + HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]);
//authenticate user
//if user active_flag=0 (false) OR password!=@password, display error: "Access Denied"
//if user admin_flag=1 & active flag=1 (true), redirect to admin_pages\zipsearch.aspx
//if user admin_flag=0 (false) & active_flag=1 (true), redirect to pages\zipsearch.aspx
}
}
}
Merci beaucoup à l'avance! 🙂
OriginalL'auteur Brian McCarthy | 2011-03-08
Vous devez vous connecter pour publier un commentaire.
à commencer ici vous allez avec la méthode de connexion:
vous pouvez vérifier les informations d'identification d'utilisateur dans la méthode d'authentification:
Pour la redirection en fonction d'un rôle spécifique, utilisez ce code:
EDIT:
Voici la solution qui devrait fonctionner pour vous de ne pas le code mais toujours ok.
Donc tout d'abord vous faire configurer votre connexion de contrôle avec le DestinationPageUrl balise comme ceci:
Puis dans votre LoginButton_Click méthode:
l'url est une propriété appelée "DestinationPageUrl" de votre contrôle de connexion, par conséquent, vous n'avez pas à mettre ici. Oui, vous pouvez mettre votre code avant la redirection.
jetez un oeil à votre base de données des membres. (vous pouvez aussi créer votre propre base de données des membres, voir ici: asp.net/security/tutorials/...) vous Y trouverez un tableau avec le nom aspnet_roles. Dans ce tableau, vous pouvez définir différents rôles. Il est également construit dans l'outil de visual studio pour maintenir votre base de données des membres, voir ici: odetocode.com/articles/427.aspx
eh bien, vous pouvez faire ce que vous voulez de la base de données des membres est libre de les adapter à vos besoins. L'Administrateur peut créer des utilisateurs et des rôles par le code de l'Adhésion et MembershipUser et les Rôles des classes. Bien sûr, vous pouvez faire de votre si la clause comme vous le dites ci-dessus, c'est très bien aussi.
normalement, vous créer vos rôles manuellement dans le tableau des rôles et ensuite vous pouvez créer des utilisateurs avec le createuserwizard qui crée de nouveaux utilisateurs et leur donne un rôle...
OriginalL'auteur MUG4N