• 判断登陆人是否为BBS管理员


    package com.icss.oa.show.servlet;
    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.icss.j2ee.servlet.ServletBase;
    import com.icss.resourceone.sdk.framework.Context;
    import com.icss.resourceone.sdk.framework.EntityException;
    import com.icss.resourceone.sdk.framework.Person;
    import com.icss.resourceone.sdk.right.RightException;
    import com.icss.resourceone.sdk.right.RightManager;
    import com.icss.resourceone.sdk.right.Role;
    
    /**
     * 判断当前登陆人是否为BBS管理员
     */
    
    public class TestAPIServlet extends ServletBase {
    
    	private Context ctx;
    	private RightManager rm;
    	private Person loginPerson;
    	private Role role;
    	private Role bbsRole;
    	private String disk;
    	private Boolean isAdmin;
    
    	protected void performTask(HttpServletRequest request,
    			HttpServletResponse response) throws ServletException, IOException {
    		this.getParameter();
    		isAdmin = this.isAdmin();
    		// 判断当前登陆人是否有BBS管理员这个角色,有就给与删除权限,没有就不给
    		if (isAdmin) {
    			disk = "/jsp/show/matchSuccess.jsp";
    		} else {
    			disk = "/jsp/show/matchFail.jsp";
    		}
    		this.forward(request, response, disk);
    	}
    
    	public void getParameter() {
    		try {
    			ctx = Context.getInstance();
    			rm = RightManager.getInstance();
    			loginPerson = ctx.getCurrentPerson();
    		} catch (EntityException e) {
    			e.printStackTrace();
    		} catch (RightException e) {
    			e.printStackTrace();
    		}
    	}
    
    	public Boolean isAdmin() {
    		try {
    			List isBBSManger = new ArrayList();
                                                    
                                                    //获取当前登陆人的所有全局子系统角色  子系统代码-1
    			List roles = rm.getSysRolesByPerson(loginPerson, -1);
    			Iterator i = roles.iterator();
    			while (i.hasNext()) {
    				role = (Role) i.next();
    				//查找是否有BBS管理员的角色代码	        if (("bbsManager".trim()).equals(role.getRolecode().trim())) {
    					isAdmin = true;
    					break;
    				}else{
    					isAdmin = false;
    					}
    				}
    			} catch (RightException e) {
    				e.printStackTrace();
    			}
    		System.out.println("isAdmin------>"+isAdmin);
    		return isAdmin;
    	}
    }
    
    

    该类已封装为一个方法,判断当前登陆人是否为BBS管理员。

    拓展:

      查找当前登陆人的所有全局子系统角色:

        RightManager  ---》 getSysRolesByPerson(person,SysId)

      查找当前登陆人的所有非全局子系统角色:

       RightManager  ---》 getRolesByPerson(person)

    这些都是基于审计4.0.6版本

  • 相关阅读:
    mysql 时间函数
    Excel名称管理
    Unicode中文和特殊字符的编码范围
    带有历史数据置顶的id列表查询
    汉字表示范围
    ASP.NET模拟http进行GET/POST请求
    ASP.NET AES-128-CBC加密解密(与php通讯)
    dapper.net 获取分页存储过程返回的多结果集
    微信网页版抓包登录
    js添加/移除/阻止事件
  • 原文地址:https://www.cnblogs.com/avivaye/p/3007219.html
Copyright © 2020-2023  润新知