我們需要使用現有的外部數據庫滿足我們的會員需求。該數據庫將包含驗證和授權用戶所需的所有基本信息。我期待看看你是否有文檔可以指導我完成這個過程。我已經在網上看到過自定義會員供應商的實施。但是我還沒有看到有關如何將自定義成員資格提供程序與Sitecore API集成的示例,因此Sitecore.Context.User將返回登錄用戶的信息。Sitecore定製會員供應商
另外,有沒有辦法通過Sitecore API訪問自定義配置文件信息?
謝謝
我們需要使用現有的外部數據庫滿足我們的會員需求。該數據庫將包含驗證和授權用戶所需的所有基本信息。我期待看看你是否有文檔可以指導我完成這個過程。我已經在網上看到過自定義會員供應商的實施。但是我還沒有看到有關如何將自定義成員資格提供程序與Sitecore API集成的示例,因此Sitecore.Context.User將返回登錄用戶的信息。Sitecore定製會員供應商
另外,有沒有辦法通過Sitecore API訪問自定義配置文件信息?
謝謝
正如我在這裏評論中所承諾的那樣,我們的設置可以使Sitecore設置保持不變,同時添加額外的會員供應商以專門用於您的網站。
首先這可以在我們的web.config裏面可以找到下<system.web>
轉換文件:
<membership hashAlgorithmType="SHA256" xdt:Transform="SetAttributes(hashAlgorithmType)">
<providers>
<add name="sitecore" type="Sitecore.Security.SitecoreMembershipProvider, Sitecore.Kernel" realProviderName="switcher" providerWildcard="%" raiseEvents="true" xdt:Locator="Match(name)" xdt:Transform="Replace" />
<add name="myprovider" type="MyProject.SecurityProviders.MembershipProvider, MyProject.SecurityProviders" applicationName="sitecore" xdt:Transform="Insert"/>
</providers>
</membership>
<roleManager>
<providers>
<add name="sitecore" type="Sitecore.Security.SitecoreRoleProvider, Sitecore.Kernel" realProviderName="switcher" raiseEvents="true" xdt:Locator="Match(name)" xdt:Transform="Replace" />
<add name="myprovider" type="MyProject.SecurityProviders.RoleProvider, MyProject.SecurityProviders" applicationName="sitecore" xdt:Transform="Insert"/>
</providers>
</roleManager>
下一頁這是在一個單獨的配置中發現的包含文件直屬<sitecore>
:
<switchingProviders>
<membership>
<provider providerName="myprovider" storeFullNames="false" wildcard="%" domains="websitedomain" patch:before="*"/>
</membership>
<roleManager>
<provider providerName="myprovider" storeFullNames="false" wildcard="%" domains="websitedomain" patch:before="*"/>
</roleManager>
</switchingProviders>
這些2配置更改將使您能夠創建自定義成員資格和角色提供程序(以防您需要)。正如您所看到的那樣,棘手的部分並不是讓sitecore的交換成員資格提供者成爲默認提供者(如文檔2.6.2中所述),而是將sitecore提供者的realProviderName設置爲switcher
。
從hereon可以直接實現ASP.NET Membership。
您已經看到這份文件了嗎?
A Developer's Guide to Integrating Authentication Systems with Sitecore
它談論您完成創建ASP.net成員提供的全過程。提供者的要點是它從實現中抽象出API,所以你一定能夠實現你所需要的。
本質上,您需要覆蓋基本ASP.Net提供程序中的所有相關方法,使用它們「圍繞」等同於外部數據庫的調用。
此數據庫是否也會驗證sitecore後端的編輯者或僅用於網站訪問?因爲重要的是你當然不會破壞Sitecore功能,並且設置交換會員提供商並不那麼簡單,因爲文檔中缺少一些信息(或者我至少找不到) – IvanL
這是用於網站身份驗證只要。 Sitecore登錄需要保持原樣。 – Gabbar
在這種情況下,您最好設置切換會員供應商。我會發佈一個答案,我們如何爲我目前正在進行的項目做到這一點。 – IvanL