ASP.NET Custom MembershipProvider, измените семантику CreateUser или добавьте новый метод - PullRequest
3 голосов
/ 07 мая 2011

Есть ли способ добавить дополнительный метод, скажем, с семантическим, как это:

CreateUser(User user, UserInfo userInfo, IsInRole isInRole, <any another things here>) 

Я могу создать пользовательский метод и вызывать этот метод отдельно, но для того, чтобы сохранить согласованность, мне просто интересно, есть ли способ настроить MembershipProvider таким образом или сделать что-то подобное?

1 Ответ

3 голосов
/ 08 мая 2011

Полагаю, у вас уже есть созданный пользовательский провайдер членства.Вы можете просто добавить этот метод, а затем использовать его в своем приложении.Допустим, у вас есть пользовательский провайдер членства, такой как этот псевдо (упрощенный) код:

public class CustomMP : MembershipProvider
{
    var db = // your data (member) storage

    public void CreateUser(string username, UserInfo userInfo, /* etc... */)
    {
        // process data
        // create new user instance.. like:
        MyUser newUser = new MyUser(/* params */);

        db.AppUsers.Add(newUser);
        db.SaveChanges();
    } 
}

Затем вы можете использовать его в контроллере своего аккаунта (или в любом другом месте, где вы захотите)* Этот пример упрощен и пропускает любую форму проверки, но я думаю, что вы можете получить идею из этого.Это показывает, что вы должны иметь возможность расширять свой пользовательский поставщик членства любым удобным для вас способом.

...