Расширение aspnet_users для добавления дополнительного поля

У меня есть приложение, которое я создаю в lightswitch и создал для них роли пользователей и аутентификацию. в моей базе данных у меня есть все таблицы aspnet security. Теперь в aspnet_Users, где у меня есть все мои пользователи и aspnet_memebership с соответствующей информацией. Мне нужно добавить поле в любую таблицу (которую вы, ребята, порекомендуете), чтобы получить дополнительную информацию, т.е. страну. Мое намерение состоит в том, что при использовании моего кода в приложении asp.net я могу получить страну для пользователя. аналогично тому, как я могу получить имя удостоверения для пользователя с помощью следующего кода.

EDITED Я знаю, как добавить поле в таблицу, но я не знаю, как получить доступ к полю с помощью User.Identity... Я бы хотел, чтобы мое новое поле отображалось в коде.

извините, если было какое-то недопонимание.

Application.Current.User.Identity.Name;

Я хотел бы добиться чего-то подобного для страны человека, например:

Application.Current.User.Identity.Country

person Maverick1415    schedule 26.11.2013    source источник
comment
Вы спрашиваете, как добавить этот столбец в таблицу, или вы спрашиваете, в какую таблицу лучше всего добавить этот столбец?   -  person Jerreck    schedule 26.11.2013
comment
Я недостаточно знаю об этом, чтобы опубликовать ответ, но я на 99% уверен, что Application.Current.User.Identity.Country не будет работать, потому что он не существует как объект (User.Identity.Country является предварительным встроенный объект, найденный в одной из системных сборок). Итак, вам нужно будет создать этот объект, а также методы, которые он использует для подключения к вашей базе данных и извлечения нужных данных. Просмотрите эти ссылки: msdn.microsoft.com/ en-us/library/bb386940(v=vs.110).aspx stackoverflow.com/questions/4002323/   -  person Jerreck    schedule 26.11.2013


Ответы (1)


Похоже, вам нужно реализовать Пользовательского членства вместе с специальным поставщиком членства для доступа к дополнительным свойствам.

Затем вам нужно будет использовать MembershipProvider.GetUser().Country для получения свойства (где MembershipProvider — это имя вашего поставщика членства).

Если вы хотите получить доступ к Application.Current.User.Identity.Country, вы можете создать свой собственный класс, который наследуется от System.Security.Principal.IIdentity, а затем привести Application.Current.User.Identity к вашему собственному типу перед доступом к свойству.

person SilverlightFox    schedule 27.11.2013