c# - kentico API - Grouping Roles using membership -
within kentico administration area, there facility group 'roles' using 'membership' feature. have built 'custom role provider' allows me access kentico database through api, working , correct.
the api allows me access roles of user fine, ideally access 'memberships' instead , 'roles' associated through api. when authenticating users access page/link etc have call group name , search through mappings find associated 'role', grant or deny access.
is there way in api this, need create custom sql string , execute against database extract data need?
there no out-of-box functionality that. have utilize offered info objects , providers. have created short sample code understand concept.
// user name userinfo user = userinfoprovider.getuserinfo("testuser"); // user-role bindings user's identifier infodataset<userroleinfo> userroles = userroleinfoprovider.getuserroles("userid=" + user.userid, null, -1, null); response.write("user: " + user.username + "<br /><br />"); // enumerate through user-role binding foreach (userroleinfo userroleinfo in userroles) { // role information based on role identifier roleinfo role = roleinfoprovider.getroleinfo(userroleinfo.roleid); response.write("user role: " + role.displayname + "<br />"); // role-membership bindings using condition infodataset<membershiproleinfo> membershiproles = membershiproleinfoprovider.getmembershiproles("roleid=" + role.roleid, null, -1, null); // enumerate through role-membership bindings foreach (membershiproleinfo membershiproleinfo in membershiproles) { // membership info using identifier membershipinfo membership = membershipinfoprovider.getmembershipinfo(membershiproleinfo.membershipid); response.write("role membership: " + membership.membershipdisplayname + "<br />"); } response.write("<br />"); }
Comments
Post a Comment