我正在使用MembershipProvider,由于我将其与一些自定义安全性一起设置,我需要获取当前应用程序的ApplicationId(Guid)。使用Membership.ApplicationName很容易获得应用程序名称,但我发现没有简单的方法来获取Id。
答案 0 :(得分:6)
我相信您需要编写自己的代码(如自定义存储过程)来获取ID。该数据旨在由成员资格提供者的内置实现私有使用,并且不是提供者接口的一部分(即,它可能不存在于提供者的某些实现中)。用户ID也是如此。好消息是为默认实现编写存储过程非常简单。
你只需要:
SELECT ApplicationId FROM aspnet_Applications
WHERE ApplicationName =
(System.Web.Security.Membership.Provider.ApplicationName
from the ASP.NET code)
如果您确实需要此ID,可能需要重新考虑
答案 1 :(得分:0)
默认的SQLMembership架构确实有一个您调用的存储采购。 aspnet_Applications_CreateApplication, @ApplicationName (input), @ApplicationID (output)
如果找到匹配项,这将创建新ID或返回现有ID。