Bonjour,
je suis en train de travailler sur la mise en place d'une authentification perso basée sur ma table SQL Utilisateurs. J'utilise WCF RIA Services pour gérer ma table Utilisateurs et je dispose d'un fichier edmx.

J'ai rajouté IAuthentication<Utilisateur>.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
  [EnableClientAccess()]
    public partial class MyAuthenticationService : LinqToEntitiesDomainService<TestAuthentificationEntities>, IAuthentication<Utilisateur>
    {

        // TODO:
        // Consider constraining the results of your query method.  If you need additional input you can
        // add parameters to this method or create additional query methods with different names.
        // To support paging you will need to add ordering to the 'Utilisateur' query.
        public IQueryable<Utilisateur> GetUtilisateur()
        {
            return this.ObjectContext.Utilisateur;
        }

        public void InsertUtilisateur(Utilisateur utilisateur)
        {
            if ((utilisateur.EntityState != EntityState.Detached))
            {
                this.ObjectContext.ObjectStateManager.ChangeObjectState(utilisateur, EntityState.Added);
            }
            else
            {
                this.ObjectContext.Utilisateur.AddObject(utilisateur);
            }
        }

        public void UpdateUtilisateur(Utilisateur currentUtilisateur)
        {
            this.ObjectContext.Utilisateur.AttachAsModified(currentUtilisateur, this.ChangeSet.GetOriginal(currentUtilisateur));
        }

        public void DeleteUtilisateur(Utilisateur utilisateur)
        {
            if ((utilisateur.EntityState == EntityState.Detached))
            {
                this.ObjectContext.Utilisateur.Attach(utilisateur);
            }
            this.ObjectContext.Utilisateur.DeleteObject(utilisateur);
        }

        #region IAuthentication
        private Utilisateur GetUser(string userName, string mail)
        {
            return this.ObjectContext.Utilisateur.First(u => u.Nom_Utilisateur == userName && u.Email_Utilisateur == mail);
        }

        public Utilisateur Login(string userName, string mail, bool isPersistent, string customData)
        {
            if (this.ValidateUser(userName, mail))
            {
                FormsAuthentication.SetAuthCookie(userName, isPersistent);
                return this.GetUser(userName, mail);
            }
            return null;
        }

        private bool ValidateUser(string userName, string mail)
        {
            return this.ObjectContext.Utilisateur.Any(u => u.Email_Utilisateur == mail && u.Nom_Utilisateur == userName);
        }

        public Utilisateur Logout()
        {
            FormsAuthentication.SignOut();
            return null;
        }

        public void UpdateUser(Utilisateur user)
        {
            if ((this.ServiceContext.User == null) ||
           (this.ServiceContext.User.Identity == null) ||
           !string.Equals(this.ServiceContext.User.Identity.Name, user.Nom_Utilisateur, System.StringComparison.Ordinal))
            {
                throw new UnauthorizedAccessException("You are only authorized to modify your own profile.");
            }

            this.ObjectContext.Utilisateur.AttachAsModified(user, this.ChangeSet.GetOriginal(user));
        }

        public Utilisateur GetUser()
        {
            throw new NotImplementedException();
        }
        #endregion
    }
Et dans ma claase Utilisateur j'ai

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
public partial class Utilisateur :IUser
    {......}
J'ai une erreur qui me dit :
The domain operation entry named 'UpdateUser' provides redundant functionality. Another method named 'UpdateUtilisateur' already exists. MyAuthenticationService (MyAuthenticationService\MyAuthenticationService)
Savez quelle solution j'ai pour contrer cela ? Ou alors est ce que je pars de travers pour mettre en place ma propre authentification ?