zoukankan      html  css  js  c++  java
  • 判断登陆人是否为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版本

  • 相关阅读:
    Linux IO接口 监控 (iostat)
    linux 防火墙 命令
    _CommandPtr 添加参数 0xC0000005: Access violation writing location 0xcccccccc 错误
    Visual Studio自动关闭
    Linux vsftpd 安装 配置
    linux 挂载外部存储设备 (mount)
    myeclipse 9.0 激活 for win7 redhat mac 亲测
    英文操作系统 Myeclipse Console 乱码问题
    Linux 基本操作命令
    linux 查看系统相关 命令
  • 原文地址:https://www.cnblogs.com/avivaye/p/3007219.html
Copyright © 2011-2022 走看看