I have made multi menu works, the below is what is in my web.config. They all call the same class but with different filter. I have to add one provide for each of them. I prefer a way to pass filter, something like sitemap("public") or sitemap("member"), but not likely it can work that way.
<siteMap defaultProvider="sitemapdefault" enabled="true">
<providers>
<clear/>
<add name="sitemapdefault" type="LinkLibrary.LinkSiteMapProviderDefault"/>
<add name="sitemappublic" type="LinkLibrary.LinkSiteMapProviderPublic"/>
<add name="sitemapmember" type="LinkLibrary.LinkSiteMapProviderMember"/>
</providers>
</siteMap>
The above doesn't help me to display different menus when public login as member, unless I changed the sitemapprovide from "sitemappublic" to "sitemapmember" like below.
<asp:SiteMapDataSource ID="sitemap" runat="server" sitemapprovider="sitemapmember" ShowStartingNode="false" StartingNodeUrl="/main" />
But the above still can not solve my problem, how to hide "login" menuitem or change its lable from login to logout.