Получить текущий ApplicationId в ASP.NET MembershipProvider - PullRequest
5 голосов
/ 15 июня 2009

Я использую MembershipProvider, и в связи с тем, как я его настроил в сочетании с некоторой пользовательской безопасностью, мне нужно получить ApplicationId (Guid) текущего приложения. Получить имя приложения с помощью Membership.ApplicationName легко, но я не нашел простого способа получить идентификатор.

Ответы [ 2 ]

6 голосов
/ 15 июня 2009

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

Вам просто нужно:

SELECT ApplicationId FROM aspnet_Applications 
WHERE ApplicationName = 
    (System.Web.Security.Membership.Provider.ApplicationName 
        from the ASP.NET code)

Возможно, вы захотите переосмыслить, если вам действительно нужен этот идентификатор

0 голосов
/ 07 марта 2012

Схема SQLMembership по умолчанию имеет сохраненную гарантированную информацию, которую вы вызываете. aspnet_Applications_CreateApplication, @ApplicationName (input), @ApplicationID (output) Это создаст новый идентификатор или вернет существующий идентификатор, если совпадение найдено.

...