Ejemplo n.º 1
0
        /// <summary>
        /// Determines whether node is accessible to user.
        /// </summary>
        /// <param name="siteMap">The site map.</param>
        /// <param name="node">The node.</param>
        /// <returns>
        /// <c>true</c> if accessible to user; otherwise, <c>false</c>.
        /// </returns>
        /// <exception cref="System.NotImplementedException">沒有實作</exception>
        public bool IsAccessibleToUser(MvcSiteMapProvider.ISiteMap siteMap,
                                       MvcSiteMapProvider.ISiteMapNode node)
        {
            bool result = true;

            if (ResourceOperationCollection.IsResourceOperationPopulated)
            {
                var resourceOperation = ResourceOperationCollection.GetResourceOperation(node.Area, node.Controller, node.Action);

                result = ResourceOperationAuthorisation.CheckAccess(ClaimsPrincipal.Current, resourceOperation);
            }
            return(result);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CustomAclModule"/> class.
 /// </summary>
 /// <param name="inResourceOperationCollection">The in resource operation collection.</param>
 /// <param name="inResourceOperationAuthorisation">The in resource operation authorisation.</param>
 public CustomAclModule(IResourceOperationCollection inResourceOperationCollection,
                        ResourceOperationAuthorisation inResourceOperationAuthorisation)
 {
     ResourceOperationCollection    = inResourceOperationCollection;
     ResourceOperationAuthorisation = inResourceOperationAuthorisation;
 }