重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
程序如下:
创新互联长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为桐乡企业提供专业的成都网站制作、成都网站建设、外贸营销网站建设,桐乡网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
class User{
private String userName;
private String passWord;
private Role role;
public User(String userName, String passWord, Role role){
this.userName = userName;
this.passWord = passWord;
this.role = role;
}
public Role getRole() {
return role;
}
public String getUserName() {
return userName;
}
}
class Role{
private int roleId;
private String roleText;
private String users;
private Right rights;
public Role(int roleId, String roleText, String users, Right rights){
this.roleId = roleId;
this.roleText = roleText;
this.users = users;
this.rights = rights;
}
public int getRoleId() {
return roleId;
}
}
class Right{
private int rightId;
private String rightText;
private String roles;
public Right(int rightId, String rightText, String roles){
this.rightId =rightId;
this.rightText= rightText;
this.roles = roles;
}
}
public class Test {
public static void main(String[] args) {
Right rights = new Right(2013012701, "banana", "host");
Role role = new Role(20130127, "apple", "Zhang San", rights);
User user = new User("Zhang San", "zhangsan123", role);
System.out.println("The ID of user: " + user.getUserName() + "'s role is " + (user.getRole()).getRoleId());
}
}
权限判断用XML的比较多。不需要分支语句的代码。直接读取XML文件,生成相应HTML就可以了。也就是你的XML或者数据表中有某权限哪些按钮可用,哪些不具备,读取数据表数据或XML,然后用代码生成HTML,就是权限控制的效果了
给你一个思路:
首先查询一级菜单,在查询一级菜单中查询以改菜单id为父菜单的二级菜单,如果有三级菜单的话同上~得出是list集合
部分代码如下:
//参数roleMenuList 是查询用户角色与其对应的目录数据表中返回的数据!List 中的数据都是对象类型,该对象就是用户角色与目录关系表 的对象
private String loadmenu(List roleMenuList) {
String userMenu = "";
MapString, String map = new HashMapString, String();
map.put(BaseConstants.DAO_SQL, " and parentId is null");
map.put(BaseConstants.DAO_ORDERBY, "order by f.sort");
try {
//这里是查询所有的目录,返回Lst类型数据
ListAdminMenu list = baseServices.queryAll("AdminMenu", map);
for (int i = 0; i list.size(); i++) {
String str = "";
String subMenuStr = "";
AdminMenu menu = list.get(i);
String checkStr = "";
if (roleMenuList != null roleMenuList.size() 0) {
for (int j = 0; j roleMenuList.size(); j++) {
AdminRoleMenu vo = (AdminRoleMenu) roleMenuList.get(j);
if (vo.getMenuId().getId().longValue() == menu.getId().longValue()) {
checkStr = "checked";
break;
}
}
}
str += "liinput type='checkbox' " + checkStr + " id='chk_menu_" + menu.getId() + "' name='chk_menu_" + menu.getId() + "' value='" + menu.getId() + "'" + menu.getName();
subMenuStr = loadSubMenu(menu.getId(), roleMenuList);//这个地方是查询二级菜单 loadSubMenu方法与该方法代码差不多~
str += subMenuStr;
str += "/li";
userMenu += str;
}
} catch (Exception e) {
log.error(e);
}
return userMenu;
}
spring security可以实现。。不过spring要升级到3.0
tomcat6。7都能用,我有婉转班。。置于前台菜单用js隐藏也可以,用security判断角色都行,
如果按资源判断就要做acl。。这个很简单。。不过一般初学者要学会spring security至少要1,2个星期吧,如果楼主需要我可以把文档发给你,如果你直接要代码我也可以给你,但你看不懂。。建议还是看文档先把,你留个邮箱给我我发给你。。