![](/img/trans.png)
[英]Multiple membership providers in ASP.NET (web.config + sql)
[英]multiple asp.net membership providers
我創建了兩個要添加到我的web.config中的定制成員資格提供程序。 第一個是asp.net應用程序將使用的默認值。 第二個將由我在同一應用程序中擁有的WCF服務調用。
我的web.config成員資格部分中的提供程序如下所示:
<add name="SiteProvider" type="MyNameSpace.SiteProvider, MyNameSpace" ApplicationName="Si2" EnablePasswordReset="true" PasswordStrengthRegularExpression="(?=[\w$#_ ]{8,})(?=.*?\d)(?=.*?[A-z])[\w$#_ ]*" ResetPasswordMinimumLength="8" ResetPasswordPattern="USL9SLU9SLU9SLLLL" ResetPasswordAllowDuplicateCharacters="false" />
<add name="WCFProvider" type="MyNameSpace.WCFProvider, MyNameSpace" ApplicationName="Si2" EnablePasswordReset="true" PasswordStrengthRegularExpression="(?=[\w$#_ ]{8,})(?=.*?\d)(?=.*?[A-z])[\w$#_ ]*" ResetPasswordMinimumLength="8" ResetPasswordPattern="USL9SLU9SLU9SLLLL" ResetPasswordAllowDuplicateCharacters="false" />
每當我瀏覽到站點時,都會收到錯誤消息“已添加項目。已在字典中鍵入:'SiteProvider'。正在添加關鍵字:'SiteProvider'”。
我覺得他們有獨特的名字,這對我沒有意義。 如果我刪除第二個提供商,則該站點是可瀏覽的。
在添加第二個提供程序方面的任何幫助將不勝感激。
最簡單的解決方案是將Web服務移至另一個項目。
另外,請確保在添加提供程序之前先調用<clear/>
並包括默認的提供程序...
<membership defaultProvider="Siteprovider">
<providers>
<clear/>
<add name="SiteProvider" type="MyNameSpace.SiteProvider, MyNameSpace" ApplicationName="Si2" EnablePasswordReset="true" PasswordStrengthRegularExpression="(?=[\w$#_ ]{8,})(?=.*?\d)(?=.*?[A-z])[\w$#_ ]*" ResetPasswordMinimumLength="8" ResetPasswordPattern="USL9SLU9SLU9SLLLL" ResetPasswordAllowDuplicateCharacters="false" />
<add name="WCFProvider" type="MyNameSpace.WCFProvider, MyNameSpace" ApplicationName="Si2" EnablePasswordReset="true" PasswordStrengthRegularExpression="(?=[\w$#_ ]{8,})(?=.*?\d)(?=.*?[A-z])[\w$#_ ]*" ResetPasswordMinimumLength="8" ResetPasswordPattern="USL9SLU9SLU9SLLLL" ResetPasswordAllowDuplicateCharacters="false" />
</providers>
</membership>
您可以在以下論壇帖子中嘗試該解決方案: http : //forums.asp.net/p/1112089/1714276.aspx
您是否嘗試過將單獨的web.config文件放入webservice文件夾? 我懷疑它是否會起作用,但是可能值得嘗試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.