扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
程序如下:
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、做网站、雨花台网络推广、成都小程序开发、雨花台网络营销、雨花台企业策划、雨花台品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供雨花台建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
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());
}
}
Session的机制(为了安全)决定了Session A不能获得Session B的信息,即Session之间是互相隔离的.
你可以在Login的时候,将当前登录的用户信息保存一份到Application中.
大致流程如下:
在Application放一个HashMapString [userName],String[SessionId] logins = new....
登录的时候 logins.put(userName,sessionId);
权限校验的时候
String sessionId = logins.get(userName);
if(request.getSession().getSessionId().equals(sessionId)){
//允许继续操作
}else{
//session.inValidate();//取消当前session的有效期.这个方法名我记不太清楚了.
//清空session里保存的内容,退出登录,返回到登录页面.
}
退出的时候,
logins.remove(userName);
权限判断用XML的比较多。不需要分支语句的代码。直接读取XML文件,生成相应HTML就可以了。也就是你的XML或者数据表中有某权限哪些按钮可用,哪些不具备,读取数据表数据或XML,然后用代码生成HTML,就是权限控制的效果了
代码没有,这个玩意要有一般也是集成在项目中的,一般不会发给你。可以给你说个思路:
用户表t_user (userId,xxxxx)
角色表t_role(roleId,xxxx) //一般就是id再加上个名称字段,比如管理员,普通用户
用户角色表t_role_user(id,userId,userId) 用户角色关联表
功能表或者叫资源表 t_function(functionId,url,parentFunctionId,xxx) //存放菜单名称 url地址之类
角色功能表(id,roleId,functionId) //角色能有哪些功能
一般的权限控制,登录的时候根据用户查询到该用户有哪些角色,根据角色查询到该角色有哪些功能。把有的功能做成菜单给用户展示。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流