나는 이것을 이해할 수 없다.역할 기반 메뉴가 작동하지 않습니다. 무엇이 잘못 되었나요?
나는이 사이트 맵 파일을 가리키는
securityTrimmingEnabled="true"
,과XmlSiteMapProvider
를했습니다 다음 사이트 맵<?xml version="1.0" encoding="utf-8" ?> <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > <siteMapNode url="~/" title="Root" description="Go root"> <siteMapNode url="~/h" title="Home" description="Go home" /> <siteMapNode url="~/h/uo" title="Ultima Online" description="Ultima Online"> <siteMapNode url="~/h/uo/get" roles="RegisteredUser" title="Get account!" description="Get account!" /> </siteMapNode> </siteMapNode> </siteMap>
있습니다. 그것은 내가 페이지를 로그인 리디렉션
http://localhost/h/uo/get
를 입력하면 폴더의web.config
<configuration> <system.web> <authorization> <deny users="?" /> </authorization> </system.web> </configuration>
파일은, URL을 통해 액세스 할 수 없습니다 년대에
는내가 다듬을 파일은
authorization
규칙을 가지고있다. 페이지가 렌더링 될 때 그러나<asp:SiteMapDataSource ID="MenuSiteMap" ShowStartingNode="false" SiteMapProvider="MenuSiteMapProvider" runat="server" /> <div> <asp:Menu ID="NavigationMenu" runat="server" DataSourceID="MenuSiteMap" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal" /> </div>
가, I가 예상되는 Get account
노드를 참조 : 나는 마스터 페이지 파일에서이 같은 <asp:Menu>
을 설정 한
내가 무엇이든지간에 로그인하지 않았을 때 손질 해주세요.
- 내가 뭘 잘못하고 있니?
- 보안 트리밍 사용 가능 사이트 맵 탐색 메뉴를 빌드하는 다른 방법이 있습니까?
저는 ASP.NET 4.0과 HttpModule로 URL 재 작성을 사용하고 있습니다.