限制 ITIM 中的用户 Id/Username 不从给定字符开始

Restrict User Id/Username in ITIM to not start from a given character

我想限制用户创建帐户,这样他们就不能创建以某个字符开头的帐户。例如,如果我说 R,那么用户不应该能够创建像 Rtest1Rrest123 这样的帐户,但可以创建像 testR1 这样的帐户。我在哪里可以申请这张支票?我在帐户表单的设计表单中检查了 invalid character 约束,但这不允许我在用户名的任何地方指定该字符,例如,如果我给 R 那么它将不允许 testR1 也。我需要在 ITIM 中使用某些策略或自定义 javascript 之类的东西 String.StartsWith()。注意:- 我不能为此使用工作流。

所以我找到了一个使用配置策略的解决方案,我将解决方案发布为其他人的参考。在 PP 中为要应用此检查的 service/s 创建一个权利。完成后 select 该权利并单击 parameters 为该权利创建参数实施。 Select 您要强制执行此检查的属性(对我来说它是 eruid)select 强制类型为强制和 select javascript 选项。输入以下脚本:-

var accountId = parameters.eruid[0]; //gets the eruid
//check if account start with Q
if (accountId != null && accountId.length > 0 && (accountId.toLowerCase().substr(0, 1)=='q')) { 
    return accountId.substr(1,accountId.length-1) //remove the q from beginning and return the new id as a suggestion to user
}
return accountId; //or else return the same id

这将阻止以 q 开头的用户请求,并且不允许您提交添加帐户请求。请参阅下面的标题:-