首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

shiro (7) spring结合 - 针对一个系统多角色单立各自首页——加密

2012-10-24 
shiro (七) spring结合 -- 针对一个系统多角色单立各自首页——加密?package com.miv.shiro.common?import

shiro (七) spring结合 -- 针对一个系统多角色单立各自首页——加密

?

package com.miv.shiro.common;

?

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Random;

?

import com.miv.core.constant.DatabaseConstants;

?

public class ShiroEncryption {

?

? ? public static Map<String, String[]> map = new HashMap<String, String[]>();

? ? public static final String[] ADMIN = { "admin", "animd", "nimda" };

? ? public static final String[] CALLCENTER = { "call", "callCenter", "callcenter" };

? ? public static final String[] AGENCY = { "agency", "acygen", "yacgen" };

? ? public static final String[] USER = { "user", "seru", "ures" };

? ? static {

? ? ? ? map.put(DatabaseConstants.ROLE_CODE_ADMIN + "", ADMIN);

? ? ? ? map.put(DatabaseConstants.ROLE_CODE_CALL_CENTER + "", CALLCENTER);

? ? ? ? map.put(DatabaseConstants.ROLE_CODE_AGENCY + "", AGENCY);

? ? ? ? map.put(DatabaseConstants.ROLE_CODE_USER + "", USER);

? ? }

? ? public static final boolean SUCCESS = true;

? ? public static final boolean FAILURE = false;

?

? ? // 加密

? ? public static String encryption(Integer ROLE_CODE) throws Exception {

? ? ? ? String[] encryption = map.get(ROLE_CODE + "");

? ? ? ? return encryption[getRandom(3)];

? ? }

?

? ? // 解密

? ? public static Integer decryption(String encryption) throws Exception {

? ? ? ? Integer ROLE_CODE = null;

? ? ? ? Iterator<String> iterator = map.keySet().iterator();

? ? ? ? decryption: while (iterator.hasNext()) {

? ? ? ? ? ? String key = iterator.next();

? ? ? ? ? ? String[] decryption = map.get(key);

? ? ? ? ? ? for (int i = 0; i < decryption.length; i++) {

? ? ? ? ? ? ? ? if (decryption[i].equalsIgnoreCase(encryption)) {

? ? ? ? ? ? ? ? ? ? ROLE_CODE = Integer.valueOf(key);

? ? ? ? ? ? ? ? ? ? break decryption;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? return ROLE_CODE;

? ? }

?

? ? public static int getRandom(int divisor) {

? ? ? ? int randomI = 0;

? ? ? ? Random random = new Random();

? ? ? ? randomI = Math.abs(random.nextInt()) % divisor;

? ? ? ? return randomI;

? ? }

?

? ? public static String decryptionURL(Integer ROLE_CODE, boolean flag) {

? ? ? ? switch (ROLE_CODE.intValue()) {

? ? ? ? ? ? case 0: {

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? ? ? case 1: {

? ? ? ? ? ? ? ? if (flag) {

? ? ? ? ? ? ? ? ? ? return "adminPortal/home";

? ? ? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? ? ? return "login/login";

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? case 2: {

? ? ? ? ? ? ? ? if (flag) {

? ? ? ? ? ? ? ? ? ? return "callcenterPortal/home";

? ? ? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? ? ? return "call_center_portal/login/login";

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? case 3: {

? ? ? ? ? ? ? ? if (flag) {

? ? ? ? ? ? ? ? ? ? return "agencyPortal/home";

? ? ? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? ? ? return "agency_portal/login/login";

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? ? ? case 4: {

? ? ? ? ? ? ? ? if (flag) {

? ? ? ? ? ? ? ? ? ? return "userPortal/home";

? ? ? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? ? ? return "login/login";

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? return "";

? ? }

?

? ? public static String decryptionURL(Integer ROLE_CODE) {

? ? ? ? switch (ROLE_CODE.intValue()) {

? ? ? ? ? ? case 0: {

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? ? ? case 1: {

? ? ? ? ? ? ? ? return "/adminPortal/home";

?

? ? ? ? ? ? }

? ? ? ? ? ? case 2: {

? ? ? ? ? ? ? ? return "/callcenterportal/device/active";

? ? ? ? ? ? }

? ? ? ? ? ? case 3: {

? ? ? ? ? ? ? ? return "/agencyPortal/home";

? ? ? ? ? ? }

? ? ? ? ? ? case 4: {

? ? ? ? ? ? ? ? return "/userPortal/home";

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? return "";

? ? }

?

? ? public static String decryptionTitle(Integer ROLE_CODE) {

? ? ? ? switch (ROLE_CODE.intValue()) {

? ? ? ? ? ? case 0: {

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? ? ? case 1: {

? ? ? ? ? ? ? ? return "登录页管理员";

? ? ? ? ? ? }

? ? ? ? ? ? case 2: {

? ? ? ? ? ? ? ? return "登录页客服中心";

? ? ? ? ? ? }

? ? ? ? ? ? case 3: {

? ? ? ? ? ? ? ? return "登录页经销商";

? ? ? ? ? ? }

? ? ? ? ? ? case 4: {

? ? ? ? ? ? ? ? return "登录页普通用户";

? ? ? ? ? ? }

? ? ? ? }

? ? ? ? return "";

? ? }

?

? ? public static void main(String[] args) {

? ? ? ? Random random = new Random();

? ? ? ? System.out.println(random.nextInt());

? ? ? ? System.out.println(Math.abs(random.nextInt()) % 3);

? ? }

}


热点排行