由於您在Active Directory中使用表單身份驗證,因此只要您將ActiveDirectoryMembershipProvider指定爲您的提供程序類型,您仍然應該能夠使用常規提供程序方法。在你的登錄方法,您可以使用
var user=Membership.GetUser(userName);
if(!user.IsOnline)
//Do some login stuff
在你的web配置,你會希望有
<membership defaultProvider="ADMembershipProvider">
<providers>
<add
name="ADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADConnectionString"
connectionUsername="MyDomain\MyADUserName"
connectionPassword="MyADPassword"
enablePasswordReset="false"
attributeMapUsername="sAMAccountName"/>
</providers>
</membership>
在您需要的正確件只需填寫並應工作正常。
確保你也有一個連接字符串爲您的廣告控制器
<add name="ADConnectionString" connectionString="LDAP://MyADMachine/DC=MyDomain,DC=MyTLD" />
你是如何實現你的授權與認證機制?它是不是基於服務器端狀態處理的令牌? – Whizkid747 2013-03-05 03:43:37
是的,這是基於cookie的。使用針對Active Directory的FormsAuthentication。 – 2013-03-05 05:43:46