Пользовательский параметр нужен в элементе createuser в Пользовательском поставщике членства в asp.net - PullRequest
1 голос
/ 31 марта 2010

Я хочу настроить параметр в методе createuser () Membership Provider,

На самом деле, у меня есть собственное хранилище данных для пользователей с разными данными, включая имя пользователя и пароль.

но createuser () не подходит для моих данных

Любой может мне помочь!

Ответы [ 3 ]

4 голосов
/ 31 марта 2010

Вы можете сделать что-то вроде этого.

using System;

namespace SampleApplication.Models
{
    using System.Web.Security;

    public class SampleMembershipUser : MembershipUser
    {
        public int UserLevelId { get; set; }

        public string FirstName { get; set; }

        public string LastName { get; set; }

        public string ApplicationName { get; set; }

        public Guid UserId { get; set; }

        public TASMembershipUser(
            string providername,
            string username,
            object providerUserKey,
            string email,
            string passwordQuestion,
            string comment,
            bool isApproved,
            bool isLockedOut,
            DateTime creationDate,
            DateTime lastLoginDate,
            DateTime lastActivityDate,
            DateTime lastPasswordChangedDate,
            DateTime lastLockedOutDate,
            int userLevelId,
            string firstName,
            string lastName,
            string applicationName,
            Guid userId) :
            base(
                providername,
                username,
                providerUserKey,
                email,
                passwordQuestion,
                comment,
                isApproved,
                isLockedOut,
                creationDate,
                lastLoginDate,
                lastActivityDate,
                lastPasswordChangedDate,
                lastLockedOutDate)
        {
            UserLevelId = userLevelId;
            FirstName = firstName;
            LastName = lastName;
            ApplicationName = applicationName;
            UserId = userId;
        }
    }
}
2 голосов
/ 31 марта 2010

Пока ваш поставщик является единственным используемым, вам вообще не нужно вызывать ваш метод CreateUser через ASP.NET. Просто создайте метод в любом месте и вызывайте его как обычно.

1 голос
/ 27 февраля 2013

Майкл прав, просто подумал, что я бы добавил несколько ресурсов, которые помогли мне выполнить эту задачу:

Отличный ресурс от Microsoft:

Как: реализовать пользовательское членство

Другой ключевой момент, о котором следует помнить, который упоминается в приведенной выше ссылке, заключается в том, что, как только вы выполнили работу по созданию пользовательского членства и перегрузок для ваших методов, таких как CreateUser, вы должны вызвать ваш пользовательский провайдер членства, как:

((CustomMembershipProvider)Membership.Provider).CreateUser(p1,p2 etc...)
...