How do you check in code if a request matches an EPiServer Visitor Group -
How do you check in code if a request matches an EPiServer Visitor Group -
we've set new "visitor group" in episerver 6r2, , want add together css class <body> tag of site if user in group, different groups different site designs. i'm trying find out if current visitor in matching grouping in code-behind of masterpage file in order add together class , can't below code homecoming false.
i'm not sure if role name mentioned name come in in cms ui when adding visitor group.
paul smith blogged proposed solution this haven't been able homecoming false yet, , judging comment on blog article i'm not alone. code sample #1 link (which 1 i'm using):
using episerver.personalization.visitorgroups; ... bool match = episerver.security.principalinfo.currentprincipal .isinrole("my visitor group", securityentitytype.visitorgroup); i found developer guide membership , role providers states replaceprincipal must set true right principal in place. checked , case config.
documentation
episerver 7 doc iprincipal.isinrole() extension securityentitytype enumoddly searched 6r2 documentation http://sdk.episerver.com/ , can't find documentation iprincipalextensions @ all, though see class in object browser in 6.2. in sln. details: assembly episerver.applicationmodules - c:\windows\assembly\gac_msil\episerver.applicationmodules\6.2.267.1__8fe83dea738b45b7\episerver.applicationmodules.dll - public static bool isinrole(this system.security.principal.iprincipal principal, string role, episerver.security.securityentitytype type) fellow member of episerver.personalization.visitorgroups.iprinicipalextensions
please comment if spot errors or i've missed coding episerver bit of fog-of-war affair , i'm little battle-weary.
found browsing object model , guessing. much documentation.
using episerver.personalization.visitorgroups; using episerver.security; const string visitorgroupname = "some users"; var grouphelper = new visitorgrouphelper(); bool isprincipalingroup = grouphelper.isprincipalingroup( principalinfo.currentprincipal, visitorgroupname); tested , working in episerver 6r2 (aka 6.1).
string visitorgroupname must match string entered "name" box on episerver admin interface when creating / editing visitor group. see screenshot below:
episerver episerver-6-r2
Comments
Post a Comment