今天看到一篇文章,写着用枚举法和if/else进行对比,刚好现在所在的公司做的是政府系统,存在很多权限问题。举的这个例子也刚好很适合自己,所以决定用博客记录下来。
一般来说我们正常的后台管理系统都有所谓的角色的概念,不同管理员权限不一样,能够行使的操作也不一样,比如:
系统管理员(
ROLE_ROOT_ADMIN
):有A
操作权限订单管理员(
ROLE_ORDER_ADMIN
):有B
操作权限普通用户(
ROLE_NORMAL
):有C
操作权限
比如一个用户进来,我们需要根据不同用户的角色来判断其有哪些行为,这时候一般下面的代码出现了:
public class JudgeRole {
public String judge(StringroleName){
String result = "" ;
if(roleName.equals("ROLE_ROOT_ADMIN")){
// 系统管理员有A权限
result = "ROLE_ROOT_ADMIN: " + "has AAA permission";
}
else if(roleName.equals("ROLE_ORDER_ADMIN")){
// 订单管理员有B权限
result = "ROLE_ORDER_ADMIN: