smithsson68@gmail.com
Apr 11, 2011
  8790
(1 votes)

Checking if a request matches a Visitor Group from code

You may wish to check that the current Http request matches an EPiServer Visitor Group from code, such as from a page or control template.

Method #1

using EPiServer.Personalization.VisitorGroups;
var match = EPiServer.
             Security.
              PrincipalInfo.
               CurrentPrincipal.
                IsInRole("roleName", SecurityEntityType.VisitorGroup);

 

Method #2

using EPiServer.Personalization.VisitorGroups;
var helper = new VisitorGroupHelper();
var match = helper.IsPrincipalInGroup(principal, "roleName");

Both methods require a reference to the EPiServer.ApplicationModules assembly which is part of the EPiServer Framework.

Happy matching!

Apr 11, 2011

Comments

Oct 6, 2012 12:54 AM

Hi Paul,

This is exactly what I want but if I simply use the visitor group name where it says roleName it does not seem to work, which makes sense since it wants a visitorgrouprole name and not a visitor group name. However, I can't seem to get the role name from the groupname.

Any ideas?

Sandor

Please login to comment.
Latest blogs
Optimizely CMS 13 and the first bug fixes

The first bug fixes for Optimizely CMS 13 is here!

Tomas Hensrud Gulla | Apr 9, 2026 |

lunchin Optimizely Cloud Extensions now supports CMS 13

lunchin.Optimizely.Cloud.Extensions version 2.0 has been released today which adds support for Optimizely CMS 13.

Mark Hall | Apr 9, 2026 |

Running the Optimizely CMS 13 Alloy Site on macOS with Docker

In my first Apple Silicon post and the 2025 revisit I covered running an Optimizely Foundation site on an M1/ARM Mac. This time I wanted to try...

Stanisław Szołkowski | Apr 9, 2026 |

Stott Security v7 for Optimizely CMS 13

Stott Security version 7 is now available for  Optimizely PaaS CMS 13 , introducing support for configuring security headers by both  application...

Mark Stott | Apr 9, 2026