역할 속성 만 사용하여 Siteemap 보안 트리밍, 다른 곳에서 규칙을 허용/거부하지 않습니다.

StackOverflow https://stackoverflow.com/questions/1033299

문제

태그에는 "url"속성이없는 노드를 보충 할 "역할"속성이 있다는 것을 알고 있습니다. 그러나이 다른 방법에 관심이 없지만 Siteemap 파일에 모든 권한을 설정하고 싶습니다. 이것을 달성하는 방법?

Custom RoleProvider, Custom Membershipprovider 및 Default XMLSitemApprovider를 사용하고 있습니다. 또한 직접 URL을 사용하여 사람들이 거기에 도착하는 것을 방지하기 위해 보안 ihttpmodule이 있습니다. 나는 다른 접근법에 열려 있습니다.

미리 감사드립니다!

도움이 되었습니까?

해결책

자신의 XMLSitemApprovider를 구현하고 iSaccessibletouser 메소드를 재정의 할 수 있습니다.

public override bool IsAccessibleToUser(HttpContext context, SiteMapNode node)
{
     return <condition in which access is allowed>
}

다른 팁

결국 나는 XMLSITEMAPPROVIDER에서 파생하여 나만의 보안 트리밍을 구현했습니다. 충분히 간단했습니다.

public override SiteMapNodeCollection GetChildNodes(SiteMapNode node)
{
    return CustomSecurityTrim(base.GetChildNodes(node));
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top