public static RoleBasedRuleExpression ParseRule(string ruleValue) { try { var values = ruleValue.Split(splitter_or); var theExpression = new RoleBasedRuleExpression(AllowedRuleExpression.Create(values[0]), AllowedRuleExpression.Create(values[1])); return(theExpression); } catch { var tip = "{AllowedUsers}||{AllowedRoles}"; throw new Exception($"无效的权限表达式:{ruleValue}, 格式参考:{tip}"); } }
public static string ParseRule(RoleBasedRuleExpression ruleExpression) { return($"{ruleExpression.NeedUsers.Value}{splitter_or}{ruleExpression.NeedRoles.Value}"); }
public static RoleBasedRuleExpression ToExpression(this RoleBasedRule rule) { return(RoleBasedRuleExpression.ParseRule(rule.Rule)); }
public static RoleBasedRule Create(string permissionId, RoleBasedRuleExpression expression) { return(new RoleBasedRule { PermissionId = permissionId, Rule = expression.ToRule() }); }