Quantcast
Channel: DevNet Questions
Viewing all articles
Browse latest Browse all 8901

Kentico 12 - How to set individual page to require authentication?

$
0
0
On Kentico 12, the property Security inside the Page doesn't have Access field like the previous version Kentico 11 - Interface Access.I need to provide this feature, so I was thinking about using overriding the OnAuthentication method like this:protected override void OnAuthentication(AuthenticationContext filterContext) { var isAuthenticated = filterContext.Principal.Identity.IsAuthenticated; var routePath = filterContext.HttpContext.Request.Path; var page = DocumentHelper.GetDocuments().Path(routePath).FirstOrDefault(); var allowAccess = (page.HasSecureProperty @@ isAuthenticated) || !page.HasSecureProperty; if (allowAccess) { base.OnAuthentication(filterContext); } else { filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary(new { controller = "Account", action = "Signin" }) ); } } HasSecureProperty would be the property from the kentico page that admins or editors users can set on the administration panel. I was planning to create this property using custom table and make a interface on the page for the users.The field IsSecureNode on CMS_Tree seems to be the property that I need and was been used on previous versions, but I couldn't find a way to set on the new admin panel. Is there another solution to allow users to set authentication on pages? I was concerned about performance since this method will be called on every action. Thank you.

Viewing all articles
Browse latest Browse all 8901

Trending Articles