我有一個網站地圖,有一個鏈接,當用戶沒有登錄,但是當他們登錄時,鏈接應該改變,例如,nonmember.aspx應該更改爲member.aspx。這個網站地圖綁定到一個asp:菜單。有誰知道如何做到這一點?根據用戶是否登錄更改站點地圖上的鏈接?
1
A
回答
1
一個簡單的解決方案是在你的站點地圖中有兩個節點。
- 一個節點顯示爲匿名用戶。
- 一個節點顯示了用於身份驗證的用戶與安全訪問
我相信你可以很簡單地設置此。
最終結果與更改鏈接相同,但更易於維護。
要添加到此:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode title="Home" url="~/" roles="*">
<siteMapNode url="~/Member.aspx" title="Home" roles="SpecialPeople" />
<siteMapNode url="~/Nonmember.aspx" title="Site Map" roles="HideForUsers" />
</siteMapNode>
</siteMap>
因此,您設置了拒絕訪問「HideForMembers
」的角色,以驗證用戶的規則。這是這樣的。 ASP.NET會首先找到匹配的規則,所以你應該可以通過這種方式來完成它。
否則,你可以做一個Menu_OnDataBound
並尋找節點:
Protected Sub menMainDataBound(ByVal sender As Object, ByVal e As System.EventArgs)
Try
Dim myPage As New Page
Dim myPrincipal As IPrincipal
Dim colNodes As New Collection
myPrincipal = myPage.User
If myPrincipal.Identity.IsAuthenticated = True Then
Dim menNode As MenuItem
For Each menNode In menMain.Items
Select Case menNode.Value.ToString
Case "Products"
colNodes.Add(menNode)
Case "Contact Us"
colNodes.Add(menNode)
Case "About Us"
colNodes.Add(menNode)
Case "Links"
colNodes.Add(menNode)
End Select
Next
For Each menNode In colNodes
menMain.Items.Remove(menNode)
Next
End If
Catch ex As Exception
End Try
End Sub
1
下面是你要找的Web.config代碼:
<location path="Registration.aspx">
<system.web>
<authorization>
<allow users="?" />
<deny users="*" />
</authorization>
</system.web>
</location>
相關問題
- 1. 是否可以允許用戶根據IP地址登錄到該站點?
- 2. 根據登錄狀態更改鏈接地址
- 3. 根據是否在手機上更改鏈接的URL
- 4. 是否有可能根據未鏈接的地方更改超鏈接?
- 5. 根據用戶點擊的鏈接更改提示文字
- 6. 如何根據用戶根據登錄的用戶登錄
- 7. 根據用戶是否登錄而更改根目錄沒有在Ruby on Rails上設計
- 8. 更改URL站點鏈接
- 9. 用php更改站點根目錄
- 10. 更改VSO用戶的登錄地址
- 11. 根據父鏈接更改圖像源?
- 12. 用戶登錄後立即更改wordpress站點中的css值
- 13. 如何根據用戶登錄詳細信息製作可點擊的鏈接
- 14. 根據更改的權限登錄用戶
- 15. 如何根據用戶登錄更改Rails 3中的路線?
- 16. 使用Omnioauth登錄多個站點將同一用戶鏈接到Rails應用程序上的多個登錄
- 17. 如何檢查用戶是否從Yii登錄wordpress站點?
- 18. 一旦用戶登錄,如何將登錄表單更改爲註銷鏈接?
- 19. 根據用戶是否登錄管理iOS應用UI狀態
- 20. Jenkins登錄帳戶用戶 - 是否可以更改?
- 21. 如何驗證用戶是否從另一個站點登錄到站點
- 22. 根據登錄用戶名更改表格
- 23. 網站上的站點地圖只顯示一個鏈接
- 24. 用戶是否必須登錄才能點擊我網站上的按鈕?
- 25. Joomla更改鏈接登錄後
- 26. 更改HREF當用戶點擊鏈接
- 27. 如何根據用戶是否登錄來控制流量?
- 28. PHP用戶登錄更改!
- 29. 更改登錄用戶
- 30. 如何根據Sharepoint Wss3.0上的用戶登錄詳細信息轉到通配符鏈接(網站)
待辦事項你有一個例子嗎? – Xaisoft 2009-07-09 22:40:29